2013-08-29 36 views
4

我正在运行我的单元测试ona测试代理。我已经将我的测试设置更改为使用ParallelTestCount =“0”,以便测试可以并行运行。然后我有失败的测试,因为测试使用的是同一个模拟实例。Mstest ParallelTestCount测试类不测试

是否有无论如何我可以并行运行每个测试类而不是单个测试?

是否有更好的替代MSTEST命令行来测试我的二进制文件?

我在运行Visual Studio 2012和TestAgent和控制器提前

+1

是否可以确保您的测试不依赖于彼此(通过删除共享状态)?创建相互依赖的单元测试是很危险的。 –

+0

它并不是说它们互相依赖,而是在测试初始化​​程序中我设置了Mocks,每个测试运行即减少代码......我有200个失败的4000个测试,我希望不要重构它们......所以如果我可以同时运行测试课,那么我不会有这个问题... – MicroMan

回答

0

由于有,据我所知,没有这样的选择。

这些失败的测试实际上表明你有单元测试之间的共享状态 - 在这种情况下是类字段(模拟)。

考虑在每次测试中创建共享对象,而不是使用TestInitialize创建模拟对象,如果它是完成的设置,则使用辅助方法。

我不建议在两种方法之间分割你的测试,我认为这个最小代码重复不仅可以确保你没有共享状态,还可以创建更多可读的测试,并确保意外编辑你的初始化方法不会导致其他测试失败。

有关我为什么不喜欢使用SetUp/TestInitialize的更多信息,请查看James Newkirk blogmy own thoughts on the subject