作为较大命名空间的一部分运行时,nUnit测试失败

时间:2011-01-25 23:55:13

标签: visual-studio-2010 nunit nunit-console

我有一个有趣的情况。在我的测试程序集中,我有具有特定测试类的文件夹,即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。

1 个答案:

答案 0 :(得分:0)

终于弄明白了。我使用singleton class来存储某些选项。看起来单个类实例在不同TestFixtures(即测试类)的运行之间保留,当它们一起运行时,例如,用于文件夹或项目。我最初没有转储这个对象的状态,因为我认为单例类将为每个TestFixtures提供新实例。有趣的发现,希望这有助于某人。