作为较大名称空间的一部分运行时,Nunit测试失败
-
22-10-2019 - |
题
我有一个有趣的情况。在我的测试组件中,我有具有特定测试类的文件夹,即,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都有新实例。有趣的发现,希望这对某人有帮助。
不隶属于 StackOverflow