Building and Testing with Dyne =================================== dyne comes with a first-class, well supported test client for your ASGI web services: **Requests**. Here, we'll go over the basics of setting up a proper Python package and adding testing to it. The Basics ---------- Your repository should look like this:: app.py test_app.py ``$ cat app.py``:: import dyne app = dyne.App() @app.route("/") def hello_world(req, resp): resp.text = "hello, world!" if __name__ == "__main__": app.run() Writing Tests ------------- ``$ cat test_app.py``:: import pytest import app as service @pytest.fixture def app(): return service.app def test_hello_world(app): r = app.client.get("/") assert r.text == "hello, world!" ``$ pytest``:: ... ========================== 1 passed in 0.10 seconds ========================== (Optional) Proper Python Package -------------------------------- Optionally, you can not rely on relative imports, and instead install your app as a proper package. This requires: 1. Install `Rye` package manager from `https://rye-up.com`. 2. ``$ rye sync``