1

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

ソル
  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)/nUnit2.5.9を使用しています。

4

1 に答える 1

0

ついにこれを理解した。特定のオプションを格納するためにシングルトンクラスを使用していました。シングルトンクラスインスタンスは、フォルダやプロジェクトなどで一緒に実行された場合に、異なるTestFixtures(つまり、テストクラス)の実行間で保持されるように見えます。シングルトンクラスには各TestFixtureの新しいインスタンスがあると思ったので、最初はこのオブジェクトの状態をダンプしませんでした。興味深い発見です。これが誰かに役立つことを願っています。

于 2011-01-28T16:37:01.900 に答える