非同期シナリオ
モックが一致した場合は、実際のI/Oやawait処理へ進む前に固定結果を返せます。
python
@scenario("ユーザー取得")
async def fetch_user(user_id: int) -> dict:
if expect:
expect.case("成功", given={"user_id": 1}, returns={"id": 1})
return await database.fetch_user(user_id)並行実行の安全性
呼び出し引数と収集中ケースはContextVarでタスクごとに分離されます。複数タスクやネストしたシナリオで状態が混ざりません。