Repolode
pytest-dev

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. 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 の数値は毎日更新されます。

関連プロジェクト

最近のコード変更の影響を受けるテストだけを再実行し、オプションで継続的な監視モードも利用できるpytestプラグインです。

開発ツール#pytest#testing#python
1034+2 今週87PythonMIT活発にメンテナンス更新 4 日前