6

と有効なフックpytest_sessionstart(session)は? pytest_sessionfinish(session)それらはdev フック ドキュメントまたは最新のフック ドキュメントには記載されていません。

pytest_configure(config)それらと/の違いは何pytest_unconfigure(config)ですか?

ドキュメントでは次のように述べられています。

pytest_configure(config)コマンド ライン オプションが解析された後に呼び出されます。すべてのプラグインと初期 conftest ファイルがロードされました。

pytest_unconfigure(config)テストプロセスが終了する前に呼び出されます。

セッションは同じですよね?

ありがとう!

4

1 に答える 1

9

悪いニュースは、sessionstart/configure の状況が十分に規定されていないことです。特に、Sessionstart は、xdist/distribution の場合とそうでない場合でセマンティクスが異なるため、あまり文書化されていません。これらの状況を区別することはできますが、少し複雑すぎます。

良いニュースは、pytest-2.3 が物事をより簡単にするはずだということです。scope="session" で @fixture を定義すると、テストが実行されるプロセスごとに 1 回呼び出されるフィクスチャを実装できます。
分散テストの場合、これはテスト スレーブごとに 1 回を意味します。単一プロセスのテストでは、テスト実行全体に対して 1 回を意味します。どちらの場合でも、「--collectonly」を実行するか、「-h」またはテストの実行を伴わないその他のオプションを実行すると、フィクスチャ関数はまったく実行されません。

これが明確になることを願っています。

于 2012-09-26T10:56:54.023 に答える