是否有可以运行多线程以利用多核机器的.NET测试的测试运行器?

时间:2008-11-12 15:57:02

标签: .net testing continuous-integration gallio xunit.net

我目前正在使用Thoughtworks Studios的Cruise,Gallio运行xunit.net fact / tests,以及ncover 2进行代码覆盖。

我注意到运行代码覆盖率会占用我们的构建代理服务器所拥有的四个CPU中的一个,并且想知道是否存在我可能会使用的多线程测试运行器,以利用其他3个闲置的核心?我有一个快速搜索,但大多数命中是参考测试多线程代码,而不是多线程测试运行...

4 个答案:

答案 0 :(得分:2)

Gallio implements并行测试执行。

答案 1 :(得分:1)

在NUnit中,您可以传递/thread parameter,它会在不同的线程中生成测试执行。我想有一个线程池来生成测试并不会有太多的工作。您必须确保在测试中没有依赖项。

我会询问xUnit.NET或NUnit列表。我知道查理正在努力制作NUnit 3.0的那部分。您还可以将PNunit视为扩展名。还有an article有人致力于在多个线程中获取xUnit.NET。

答案 2 :(得分:1)

就在昨天,Damon Payne发现了这篇文章:

http://www.damonpayne.com/2008/05/09/ConcurrentUnitTestingWithXUnitNet1.aspx

他为xUnit.NET编写了一个自定义测试运行器,它使用类作为并发单元显式分发测试用例,以便利用多个核心。

答案 3 :(得分:0)

如果不出意外,我知道在CruiseControl.NET中,您可以同时运行多个两个操作。我认为Cruise也是如此。您可以在每个测试的1/4上运行四个实例,然后将结果重新拼接在一起。知道何时合并它们可能很困难。