Testing¶
test_client¶
Connexion exposes a test_client
which you can use to make requests against your
Connexion application during tests.
def test_homepage():
app = ... # Set up app
kwarg = {...}
with app.test_client(**kwargs) as client:
response = client.get("/")
assert response.status_code == 200
The passed in keywords used to create a Starlette TestClient
which is then returned.
For more information, please check the Starlette documentation.
TestContext¶
To have access to the Context variables during tests, you can use the TestContext
provided by Connexion.
from unittest.mock import MagicMock
from connexion.context import operation
from connexion.testing import TestContext
def get_method():
"""Function called within TestContext you can access the context variables here."""
return operation.method
def test():
operation = MagicMock(name="operation")
operation.method = "post"
with TestContext(operation=operation):
assert get_method() == "post
If you don’t pass in a certain context variable, the TestContext will generate a dummy one.