ヌニットテストは、大きな名前空間の一部として実行すると失敗します
-
22-10-2019 - |
質問
私は興味深い状況を持っています。私のテストアセンブリには、特定のテストクラス、すなわち、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の新しいインスタンスがあると思ったため、最初はこのオブジェクトの状態を最初に捨てませんでした。興味深い発見、これが誰かを助けることを願っています。
所属していません StackOverflow