团队基础构建服务器会按顺序还是并行执行单元测试?

6
我们使用TFS 2010和自动化构建。 我们还利用MSTests。
我想要一些关于构建服务器测试执行方法的具体信息。 测试引擎(在构建服务器上)会按顺序还是并行运行单元测试?
2个回答

4
默认情况下,它们将按顺序运行。您可以通过添加Parallel活动并在每个活动中运行不同的测试集来自定义构建工作流程。或者,如果您想要跨多个构建机并行运行测试,则可以使用多个RunOnAgent活动使构建使用多个机器(http://blogs.msdn.com/b/jimlamb/archive/2010/09/14/parallelized-builds-with-tfs2010.aspx)。
注意:如果您在多个测试运行中执行测试,则会得到多个测试报告(.trx文件),如果不进一步自定义构建,则这些报告将无法合并。

0

@Dylan Smith的回答是正确的,但没有涵盖第3个选项。 在多CPU / core机器上并行执行单元测试

危险!危险!罗宾逊:这仅适用于VS2010和mstest.exe。VS2012有一个新的测试运行器,不支持并行测试执行Visual Studio UserVoice Run unit tests in parallel。VS2012测试系统可以使用传统的testrunner,并且如果您使用MSTest/SettingsFile元素指定了一个.testsettings文件,您可以使其正常工作。使用.runsettings文件配置单元测试

如何:启用并行测试执行

  1. 确保您拥有多核/CPU的计算机
  2. 确保您仅运行单元测试
  3. 确保您的测试是线程安全的
  4. 确保您没有任何数据适配器
  5. 确保您正在本地运行(不能使用TestController/TestAgent)
  6. 修改您的测试设置文件。
  7. 右键单击测试设置文件,选择“打开方式” -> 以Xml格式打开
  8. Execution元素上设置parallelTestCount属性

    选项包括:

    • 空白 = 1个CPU/核心 - 这是默认值
    • 0 = 自动配置:我们将根据您的CPU和核心数量使用尽可能多的测试
    • n = 并行运行的测试数
  9. 保存您的设置文件


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接