問題タブ [pytest-parallel]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1313 参照

python - セットアップ (フィクスチャ) を 1 回実行してから、並行してテストする方法

テストを並行して実行するために pytest-xdist を使用していましたが、私のスイートのセットアップは非常に巨大でかさばるので、各テストの実行で複数回実行することは避けたいと考えています。
pytest-xdist を使用してすべてのテストを並行して実行しているときに、すべてのテスト実行の前にスイートのセットアップ (フィクスチャ) が実行され、すべてのテスト ケースの実行時間が長くなるという問題に遭遇しました。
pytest 並列実行ですべてのテスト実行の前にフィクスチャの実行を回避する方法はありますか?

0 投票する
0 に答える
400 参照

python - 並列テスト関数呼び出しのランタイム統計 (pytest-benchmark またはその他のプラグインを使用)

並列呼び出しのpytest-benchmarkランタイム統計を表示するようなプラグインを使用したい, ..., . test_valid_submission(0)test_valid_submission(EXPERIMENT_SIZE)

このために、次のコードを使用してこれを達成しようとしていますpytest-benchmark( pytest を使用したパラメーター化されたベンチマークのグループ化と同様)。

電話すると

最後に、並列呼び出しの各ランタイムの最小値、最大値、平均値、標準偏差を含むベンチマーク サマリー テーブルを取得したいと考えていました。残念ながら、ベンチマークの要約表は出力されません (以下の詳細を参照)。EXPERIMENT_SIZEtest_valid_submission()

@hoefling は、pytest-benchmarkベンチマーク データの実行と収集を並行してサポートしていないとコメントしました。

できる別のpytestプラグイン(または他のソリューション)はありますか

  • EXPERIMENT_SIZE並列test_valid_submission(x)呼び出しの数を収集し、それらをグループ化する
  • グループ内の並列呼び出しのランタイム統計の最小、最大、平均、標準偏差を計算します
  • 複数のグループを使用しますtest_valid_submission(x)test_invalid_submission(x)
  • 上記の pytest-benchmark 要約表と同様に、テストの最後に統計を出力しますか?

pytest-benchmark の詳細

pytest-benchmarkEXPERIMENT_SIZE=3iterations=1およびを使用するとrounds=1、次の出力が得られます (ただし、 の場合でも、統計EXPERIMENT_SIZE>=5は表示されます)。rounds=5

しかし、次の出力が得られます(EXPERIMENT_SIZE=3無関係な行が削除されています):

代わりに使用benchmark.pedantic(test_valid_submission, args=[counter], iterations=1, rounds=1)しても、印刷された統計にはつながりません。