

This. We kinda stumbled on this pattern, and use it to great effect. Simplified code:
@pytest.fixture
def tmpfiles():
with NamedTemporaryFile(suffix=".html") as f:
yield f
# or for paths, which are more suitable for certain tests
# touch them so they exist
@pytest.fixture
def othertmppaths() -> list[Path]:
f1 = Path("...")
f1.touch()
f2 = Path("...")
f2.touch()
yield [f1, f2]
# you could delete them here if needed
f1.unlink()
def test_foo(othertmppaths list[Path]):
result = upload_resource(othertmppaths[0])
assert result.status == 200
The context manager one will properly clean up all files.
E: Pretty website btw
+1 for Pocketbook
Never had any issues with it whatsoever.
The device works great with Calibre.
There is some other functionality that I did not use.