問題タブ [pytest-xdist]

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 に答える
777 参照

pytest - pytest xdist を使用して配布前に conftest を実行する

次の要件の解決策を教えてください。モジュール全体で 1 回だけテスト スイートを開始する前に、VM に接続する必要があります。そして、そのスイートにConftestを使用することで成功しました.しかし、今、Xdistプラグインを使用して複数のCPU /コアにテストを配布したいと思います....各プロセスがconftestを実行し、複数のプロセスを実行しようとすると接続のインスタンス。配布を開始する前に conftest を実行する方法はありますか? または別の方法でこれを達成する方法はありますか?

0 投票する
2 に答える
3018 参照

python - pytest + xdist が出力をキャプチャしないのはなぜですか?

並列テストの実行に pytest-xdist で pytest を使用しています。-sテストの実行時に標準出力を介して端末に渡すオプションを尊重していないようです。これを実現する方法はありますか?これにより、さまざまなプロセスからの出力がターミナルでごちゃごちゃになる可能性があることはわかっていますが、それで問題ありません。

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

python - スレーブごとに 1 つのテストを実行する pytest-xdist

私のシナリオは、何らかのイベントが発生したときに接続された websocket に通知するサーバーで構成されています。Websocket クエリ パラメータは、クライアントに通知するイベントの種類を指定します。

通知用の一連の定義済みイベントと、予想される一致イベントがわかっている一連の Websocket URL があります。

私が取得したいのは、次のことです。

  1. 通知サービスを開始します (イベントのストリームを待っています)
  2. テストごとに、websocket を介してクライアントを接続します
  3. イベント ストリームを開始する
  4. ストリームが完了したら通知サーバーを停止します (websocket を閉じます)
  5. クライアント (テスト) は、受信したイベントが予想されるイベントと一致することを Websocket クロージャーでチェックします。

このシナリオは、すべてのテストが同時に実行された場合にのみ機能します。このため、「-n」を使用して pytest-xdist を使用することを考えました。

残念ながら、これはうまくいかないようです。私が取得した 8 つのテストは、予想どおり 4 つのテストがすぐに実行されますが、最後の 4 つのテストは、最初のテストが終了したときにのみ開始されます。

pytest-xdist コード ( dession.py:366-368 )を正しく理解している場合、テストは少なくとも 2 つのテストのチャンクでスレーブ間で分割されているように見えます。

これは明らかに、私のセットアップを危険にさらし、動作を説明します。

誰かがこの問題の回避策を思い付くことができますか?

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

pytest - pytest xdist と setup フックの実行

pytest_runtest_setupxdist プラグインでプラグイン フックを実行するのに問題があります。-n オプションを指定せずに実行しますが、そのオプションを指定するとすぐにフックが実行されません。

pytest_runtest_makereportはいつも働いています。何か案は?

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

python - 各 pytest-xdist プロセスでセットアップを実行する方法

テスト ランナーが開始したら、いくつかの設定を行います (sys.path の調整、環境変数の追加、グローバル フィクスチャの開始)。生成された各 xdist プロセスでこれらの変更を行うには、どのフックを使用できますか?

通常の pytest フックをいくつかオーバーロードしてみましたが、それらはサブプロセスが起動される前に実行されます。

0 投票する
2 に答える
531 参照

python - pytest xdist テストは同じ構成にログを記録できますか?

私は pytest と xdist プラグインを使用して、大規模なテスト スイートを実行しています。これらのテストの実行には数時間かかることがあるため、実行中に特定の情報を確認したいと考えています。見たい項目は、テストが失敗したときのエラー、まだテストがいくつ残っているかなどです。これを行うには、詳細なエラーが 1 つのファイルに送られ、残っているテストの数などの基本的な情報が別のファイルに送られるように設定したいと思います。これを可能にするpytestプラグイン、またはこれを行うために内部pytestロガーを接続する方法はありますか? 御時間ありがとうございます。

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

pytest - xdistでpytestを使用するときに出力を印刷する方法

テストを実行するために py.test を使用しています。テストを並行して実行するために pytest-xdist と一緒に使用しています。テストで print ステートメントの出力を確認したいと考えています。

私は持っています:Ubuntu 15.10、Python 2.7.10、pytest-2.9.1、pluggy-0.3.1。

これが私のテストファイルです:

py.testを実行すると、何も出力されません。これは当然のことです。デフォルトでは、py.test は出力をキャプチャします。

py.test -sを実行すると、 test_atest_bが出力されます。

py.test -s -n2を実行すると、何も出力されません。-n2の使用中に print ステートメントを機能させるにはどうすればよいですか?

出力とこのバグレポートをキャプチャせずに、すでにpytest + xdistを読みました。