Events Testing#
In the most cases you are testing your subsriber/publisher functions, but sometimes you need to trigger some lifespan hooks in your tests too.
For this reason, FastStream has a special TestApp patcher working as a regular async context manager.
Tip
If you are using a connected broker inside withing your lifespan hooks, it's advisable to patch the broker first (before applying the application patch).
Also, because FastStream calls broker.start() inside, you need to prevent TestClient broker starting to respect the original lifespan hooks ordering by connect_only=True option. Without this one, all FastStream hooks will be called after broker was started, what can breaks some @app.on_startup logic.
Last update: 2023-10-02