我有一个有趣的情况。在我的测试组件中,我有具有特定测试类的文件夹,即,IE,TestFixture。考虑到例如:

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。

有帮助吗?

解决方案

最后弄清楚了。我正在使用一个 Singleton课 用于存储某些选项。看起来Singleton类实例在不同的测试固定(即测试类)的运行之间保留,当它们一起运行时,例如,用于文件夹或项目。我最初没有倾倒此对象的状态,因为我认为单身顿类将为每个testfixtures都有新实例。有趣的发现,希望这对某人有帮助。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top