ヌニットテストは、大きな名前空間の一部として実行すると失敗します

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

質問

私は興味深い状況を持っています。私のテストアセンブリには、特定のテストクラス、すなわち、TestFixtureのフォルダーがあります。たとえば、VSの次の階層を考えてみましょう。

Sol
  TestProject
    TestFolder1
      TestClass1
      TestClass2
    TestFolder2
      TestClass3

さて、私がコマンドラインで以下を実行するとき:

nunit-console.exe /run:Sol.TestProject.TestFolder1.TestClass2 TestProject.dll

物事は正常に実行されており、すべてのテストが通過しています。しかし、私が以下のように実行する場合:

nunit-console.exe /run:Sol.TestProject.TestFolder1 TestProject.dll

この場合、TestClass2のテストの一部は失敗しています。

私はテストに関与する関連するオブジェクトの一部の状態を投棄しようとしましたが、どちらの場合もテストコードの開始時に状態は問題ないように見えました。また、TestClass1/2/3には何かをしているスーパークラスがありません - それも同様に除外されます。ここで他に何が起こっているのかというアイデアはありますか?

vs2010/.net4.0(4.0.30319.1)/nunit 2.5.9を使用しています。

役に立ちましたか?

解決

ついにこれを理解しました。私はaを使用していました シングルトンクラス 特定のオプションを保存するため。 Singletonクラスインスタンスは、さまざまなTestFixturesの実行(つまり、テストクラス)の間に保持されているように見えます。 Singletonクラスには各TestFixturesの新しいインスタンスがあると思ったため、最初はこのオブジェクトの状態を最初に捨てませんでした。興味深い発見、これが誰かを助けることを願っています。

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