我正在测试代理上运行我的单元测试。我已将测试设置更改为使用 ParallelTestCount = "0",因此测试并行运行。然后我的测试失败了,因为测试使用的是相同的 Mock 实例。
无论如何我可以并行运行每个测试类而不是单独的测试吗?
有没有更好的 MSTEST 命令行替代方法来测试我的二进制文件?
我正在运行 Visual Studio 2012 和 TestAgent 和控制器 2012。
提前致谢
我正在测试代理上运行我的单元测试。我已将测试设置更改为使用 ParallelTestCount = "0",因此测试并行运行。然后我的测试失败了,因为测试使用的是相同的 Mock 实例。
无论如何我可以并行运行每个测试类而不是单独的测试吗?
有没有更好的 MSTEST 命令行替代方法来测试我的二进制文件?
我正在运行 Visual Studio 2012 和 TestAgent 和控制器 2012。
提前致谢
据我所知,没有这样的选择。
这些失败的测试实际上表明您在单元测试之间具有共享状态 - 在这种情况下是类字段(模拟)。
考虑在每个测试中创建共享对象,而不是使用TestInitialize来创建模拟对象,如果它是已完成的设置,则使用辅助方法。
我不建议在两种方法之间拆分您的测试,我认为这种最少的代码重复不仅可以确保您没有共享状态,而且还可以创建更具可读性的测试,并确保对您的初始化方法的意外编辑不会导致其他测试失败。
有关我为什么不喜欢使用 SetUp/TestInitialize 的更多信息,请查看James Newkirk 博客或我自己对这个主题的想法。