【问题标题】:Mstest ParallelTestCount on Test classes not tests测试类上的 Mstest ParallelTestCount 不是测试
【发布时间】:2013-08-29 09:08:01
【问题描述】:

我正在测试代理上运行我的单元测试。我已将测试设置更改为使用 ParallelTestCount = "0",因此测试并行运行。然后我的测试失败了,因为测试使用的是相同的 Mock 实例。

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

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

我正在运行 Visual Studio 2012 和 TestAgent 和控制器 2012。

提前致谢

【问题讨论】:

  • 是否可以确保您的测试不相互依赖(通过删除共享状态)?创建相互依赖的单元测试是很危险的。
  • 这并不是说它们相互依赖,而是在测试初始化​​程序中我设置了每个测试运行的模拟,即减少代码......我有 4000 个失败的测试中有 200 个,我希望不要重构他们......所以如果我可以并行运行测试类,那么我就不会有这个问题......

标签: .net unit-testing msbuild automated-tests mstest


【解决方案1】:

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

这些失败的测试实际上表明您在单元测试之间有一个共享状态 - 在本例中是一个类字段(模拟)。

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

我不建议将您的测试拆分为两种方法,我认为这种最少的代码重复不仅可以确保您没有共享状态,而且还可以创建更具可读性的测试,并确保您的初始化方法的意外编辑成功'不会导致其他测试失败。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-26
    • 2019-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多