• 2 Posts
  • 44 Comments
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





  • I started doing exactly this. Write a bunch of functions, that may end up in different systems, on different machines, even. This allows you to define the interfaces, figure out data dependencies, and so on.

    The code may be runnable, just printing out some statements. Then I copy blocks of it to the place where it will belong.

    It’s more of a thinking tool, than “actual code”.