【问题标题】:Will Team Foundation Build Server execute UnitTests sequentially or in parallelTeam Foundation Build Server 将按顺序还是并行执行 UnitTest
【发布时间】:2011-06-04 20:30:41
【问题描述】:

我们使用 TFS 2010 和自动构建。 我们还使用 MSTests。

我想要一些关于构建服务器的测试执行方法的具体信息。 测试引擎(在构建服务器上)是按顺序还是并行运行单元测试?

【问题讨论】:

    标签: tfs msbuild mstest tfsbuild


    【解决方案1】:

    默认情况下,它将按顺序运行它们。您可以通过添加并行活动并在每个活动中运行不同的测试集来自定义构建工作流程。或者,如果您想在多台构建机器上并行运行测试,您可以让构建使用多个 RunOnAgent 活动来执行此操作 (http://blogs.msdn.com/b/jimlamb/archive/2010/09/14/parallelized-builds-with-tfs2010.aspx)。

    注意:如果您在多个测试运行中执行测试,您最终会得到多个测试报告(.trx 文件),如果没有进一步自定义构建,这些报告将不会合并在一起。

    【讨论】:

      【解决方案2】:

      @Dylan Smiths 的回答是正确的,但不包括选项 3。 Executing Unit Tests in parallel on a multi-CPU/core machine

      DANGER WILL ROBINSON:这仅适用于 VS2010 和 mstest.exe。 VS2012 有一个不支持并行测试执行的新测试运行器Visual Studio UserVoice Run unit tests in parallel VS2012 测试系统可以使用旧的测试运行器,如果你指定一个.testsettings 文件使用MSTest/SettingsFile 元素。 Configuring Unit Tests by using a .runsettings File

      如何:启用并行测试执行

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

        选项是:

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

      【讨论】:

        猜你喜欢
        • 2014-11-12
        • 2014-05-16
        • 1970-01-01
        • 2013-10-15
        • 2012-10-24
        • 2012-08-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多