10

単一のテストを同時に (複数のプロセスにわたって)nose実行し、結果を単一の合格/不合格の結果に集約することは可能ですか?

リソースのロックが影響を受けていないことを確認するために、同じテストを同時に複数回実行する必要があります。鼻がこれを行うことができない場合、これを達成するために従うべき特定のテスト/設計パターンはありますか?

4

2 に答える 2

11

結果の集計をアサートしたいので、これはテスト定義自体に必要なもののように思えます。テストでマルチプロセッシングを使用することを検討します。コードを並行して実行するためのプールを作成します。Queueを使用して結果を集計できます。

于 2011-01-12T08:21:35.907 に答える
9

鼻と並行してテストを実行することが可能です:

ノーズ.プラグイン.マルチプロセス プラグインを使用すると、設定可能な数のワーカー プロセス間でテストの実行を並列化できます。これにより、CPU バウンドのテスト実行を高速化できますが、主に、他の場所からデータが到着するのを待つことにほとんどの時間を費やし、並列化の恩恵を受けることができる IO バウンドのテストに役立ちます。

必要に応じて、単一のテストを並行して実行するようにプラグインを調整しました。http://paste.pocoo.org/show/319470/からダウンロードして名前を付けて保存しnose/plugins/repeat.pyます。次に、 で行をnose/plugins/builtin.pyに追加します。次のように呼び出します。('nose.plugins.repeat', 'RepeatMultiProcess'),builtins

c:\python27\python nose-1.0.0\selftest.py --repeat-processes=2 --repeat-times=3 test2.py

注: セットアップ/破棄のサ​​ポートが壊れている可能性があります。もしそうなら、修正は簡単です、行のコメントを見てください

于 2011-01-12T11:19:00.103 に答える