pytest-dev/pytest-asyncio
テスト関数をコルーチンにして、テスト内でasyncioのコードを直接awaitできるpytestプラグインです。
- スター
- 1,669
- フォーク
- 217
- 未解決の Issue
- 53
- 最終コミット
- 6 時間前
これは何?
pytest-asyncioは、Pythonのasyncioライブラリを使ったコードのテストを可能にするpytestプラグインです。テスト関数をコルーチンとして定義できるため、イベントループを手動で扱うコードでラップせずに、テスト内で非同期呼び出しを直接awaitできます。
テストにはasyncioマーカーを付け、pytestは通常のテスト項目として実行します。ドキュメントでは、設定オプションのほか、イベントループやasync fixtureの管理方法を説明しています。インストールはpipコマンド1つで完了し、インストール後はpytestがプラグインを自動的に読み込みます。
標準のunittestライブラリを継承したテストクラスには対応していません。その場合は、unittest.IsolatedAsyncioTestCaseまたはasync対応のフレームワークを利用するよう案内しています。
主な機能
- 01asyncioマーカーを付けたコルーチン形式のテスト関数を実行できます。
- 02テスト本体で非同期コードを直接awaitできます。
- 03pipでインストールできる、標準的なpytestプラグインとして動作します。
- 04設定やイベントループ管理に関するドキュメントが用意されています。
ユースケース
- asyncioを使った非同期Webサービスのハンドラーやクライアントのテスト。
- 非同期のデータベースライブラリやネットワークライブラリを呼び出す統合テストの作成。
- pytestのテストスイートで共有するasync fixtureのテスト。
クイックスタート
- 1
pipでpytest-asyncioをインストールする
pip install pytest-asyncio
使う前に知っておきたいこと
- unittestを継承したテストクラスはサポートされていません。代わりにunittest.IsolatedAsyncioTestCaseを使用してください。
収録されている特集
トピック
よくある質問
- pytest-asyncio とは?
- テスト関数をコルーチンにして、テスト内でasyncioのコードを直接awaitできるpytestプラグインです。 pytest-asyncioは、Pythonのasyncioライブラリを使ったコードのテストを可能にするpytestプラグインです。テスト関数をコルーチンとして定義できるため、イベントループを手動で扱うコードでラップせずに、テスト内で非同期呼び出しを直接awaitできます。
- pytest-asyncio は無料で使えますか?ライセンスは?
- pytest-asyncio は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- pytest-asyncio は今もメンテナンスされていますか?
- 活発にメンテナンス中。pytest-asyncio の最終コミットは 2026年11月6日 です。
- pytest-asyncio は何に使えますか?
- asyncioを使った非同期Webサービスのハンドラーやクライアントのテスト。 非同期のデータベースライブラリやネットワークライブラリを呼び出す統合テストの作成。 pytestのテストスイートで共有するasync fixtureのテスト。
- pytest-asyncio のインストール方法は?
- pipでpytest-asyncioをインストールする: pip install pytest-asyncio
- pytest-asyncio はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/pytest-dev/pytest-asyncio
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。