9

共有ゲートウェイ パターンを使用してコントロール コンテナーの反転を実装するコードがあります。この IOC を使用するコードを実行する数百の NUnit 単体テストがあります。それらはすべて (私のマシンで!) 動作しますが、これらのテストは負荷がかかると失敗するのではないかと心配しています。NUnit (および MSTest) が複数のスレッドでテストを並行して実行しようとしたことを覚えているようですが (これにより、静的/共有ゲートウェイで競合状態が確実にトリガーされます)、実際に何が起こるかを示すドキュメントが見つかりません。私の経験では、NUnit はテストを順番に実行しているようです。私の質問は、NUnit (または MSTest) が単体テストを並行して実行することはありますか? もしそうなら、どのような条件で?そして、ある種の構成オプションを介してこれをオフにすることはできますか?

4

1 に答える 1

8

アップデート:

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

これを有効にする方法についてのステップバイステップの記事は次のとおりです。

MsTest:
Microsoft Visual Studio Team System の David Williamson によると、MSDN フォーラムのこの投稿で次のように述べています。

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

また、MsTest を使用して実行されるテストは、各テストの白紙の状態を確保するために、それぞれ異なるスレッドを使用して実行されます。この動作を無効にする方法はありません。

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

于 2008-09-30T18:10:35.770 に答える