我有一些代码使用共享网关模式来实现控件容器的反转。我有几百个NUnit单元测试来运行使用这个IOC的代码。他们都工作(在我的机器上!)但我担心这些测试可能会在负载下失败。我似乎记得NUnit(和MSTest)试图在多个线程上并行运行测试(这肯定会触发静态/共享网关上的竞争条件),但我找不到任何说明实际发生情况的文档。我的经验是,NUnit似乎正在顺序运行测试。我的问题是,NUnit(或MSTest)是否并行运行单元测试?如果是这样,在什么条件下?而且,我可以通过某种配置选项关闭它吗?

有帮助吗?

解决方案

<强>更新

Visual Studio 2010引入了并行运行测试的功能。

这是一步一步的文章关于如何启用它。

<强> MSTEST:结果 所以来自Microsoft Visual Studio Team System的David Williamson,请参阅这篇文章在MSDN论坛中:

  

绝对不要进行测试   在VS或via中运行时并行   mstest.exe。如果他们在一个   通过VS加载测试然后是一个   不同的故事。基本执行,   但是,总是串行的。

此外,使用MsTest运行的测试每个都使用不同的线程运行,以确保每个测试都有一个干净的平板。无法禁用此行为。

<强> NUnit的:结果 NUnit在同一个线程上运行所有测试。

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