我有13个独立但相关的架构组件和13个独立的NUnit测试组件,每个组件包含其匹配架构组件的所有测试夹具。我使用的是NUnit 2.5.2(目前最新版本)。
我可以在NUnit GUI中单独运行每个测试程序集,并且所有测试都通过。但是,当我将它们组合到一个NUnit项目文件中时,NUnit坚持将单个配置文件应用于整个测试运行。这不起作用,因为每个测试程序集都需要不同的配置。我不能将它们合并到一个“uber-config”文件中,因为有些部分是互斥的。我已经尝试在单独的AppDomain中运行项目中的每个程序集,也尝试单独的进程,但在这两种情况下都无法使用特定于DLL的配置文件,因此所有测试都会崩溃并烧毁。
我已经完成了谷歌搜索,但到目前为止我还没有发现任何迹象表明NUnit支持这种情况。我是对的,还是我错过了什么?
我已经尽力重新构建测试,以便他们可以共享相同的配置文件,但我不得不承认在这方面失败。
答案 0 :(得分:6)
NUnit 2.5具有设置,您可以在其中启用每个程序集以在单独的AppDomain中运行。通过这样做,NUnit将加载程序集的配置,而不是.nunit项目的配置。
有关详细信息,请参阅此处:
答案 1 :(得分:1)
在过去,我使用批处理文件完成此操作,该文件通过nunit控制台独立运行每个程序集。有一次,我有一些东西将xml输出合并在一起。它可能在CruiseControl.Net代码中。
我暂时没有参与NUnit项目。我脑子里只有旧代码。但问题是每个AppDomain都有一个配置,NUnit将所有测试程序集加载到一个AppDomain中。
您可能想尝试其他跑步者,例如Resharper或TestDriven.net