3

私のシナリオは、何らかのイベントが発生したときに接続された 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 つのテストのチャンクでスレーブ間で分割されているように見えます。

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

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

4

0 に答える 0