NUnit(およびMSTest)は、静的/共有変数を変更するテストをどのように処理しますか?

StackOverflow https://stackoverflow.com/questions/154180

質問

共有ゲートウェイパターンを使用して制御コンテナの反転を実装するコードがいくつかあります。このIOCを使用するコードを実行する数百のNUnitユニットテストがあります。それらはすべて(私のマシンで!)動作しますが、これらのテストは負荷がかかると失敗する可能性があります。 NUnit(およびMSTest)は複数のスレッドでテストを並行して実行しようとすることを覚えているようですが(これは間違いなく静的/共有ゲートウェイで競合状態を引き起こします)、実際に何が起こるかを説明するドキュメントは見つかりません。私の経験では、NUnitは順次テストを実行しているようです。私の質問は、NUnit(またはMSTest)が単体テストを並行して実行することはありますか?もしそうなら、どのような条件下で?そして、何らかの設定オプションでこれをオフにできますか?

役に立ちましたか?

解決

更新:

Visual Studio 2010では、テストを並行して実行する機能が導入されました。

これを有効にする方法に関するステップバイステップの記事

MsTest:
Microsoft Visual Studio Team SystemのDavid Williamsonによると、この投稿のMSDNフォーラム:

  

テストは絶対に実行されません   VSまたは経由で実行する場合は並列   mstest.exe。で実行される場合   VSを介した負荷テスト   別の話。基本的な実行、   ただし、常にシリアルです。

また、MsTestを使用して実行されるテストは、テストごとにクリーンな状態を維持するために、それぞれ異なるスレッドを使用して実行されます。この動作を無効にする方法はありません。

NUnit:
NUnitはすべてのテストを同じスレッドで実行します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top