• 0 Posts
  • 1 Comment
Joined 2 years ago
cake
Cake day: June 16th, 2023

help-circle
  • 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