如何在TFS 2013上并行运行MSpec测试?

时间:2015-03-03 18:30:01

标签: tfs tfs2013 mspec

我正在尝试在TFS 2013中的多个核心上运行一堆MSpec测试。它似乎没有开箱即用。它可以运行MSpec,但只是按顺序运行,需要一个多小时。

我正在关注this guide,但在第4步中,他说用Foreach Xaml替换ParallelForEach元素以使测试并行运行。我在TFS 2013中下载了默认的构建模板。它更简单,但它没有此标记。

它有:

<mtba:RunAgileTestRunner 
  DisplayName="Run VS Test Runner" 
  Enabled="[Not AdvancedTestSettings.GetValue(Of Boolean(&quot;DisableTests&quot;, false)]"
  TestSpecs="[AutomatedTests]"
  ConfigurationsToTest="[ConfigurationsToBuild]" />

2 个答案:

答案 0 :(得分:2)

default MSpec test runner无法并行运行测试。这就是你看到parallel test runner重新实现的原因。

我怀疑TFS是否正在从框架源代码中实现MSpec测试运行器(尽管这是可能的)。该并行测试运行器为using internal classes,与ISpecificationRunner类似,并行运行。

如果你必须坚持使用MSpec和TFS,你唯一的选择是

  • 将测试拆分为多个项目/程序集,并将它们提供给shell执行默认测试运行程序的TFS并行任务

  • 使用TFS shell执行任务通过并行运行器运行测试

答案 1 :(得分:0)

我假设如果你想并行运行测试,那么它们是需要很长时间才能运行的集成测试。

如果那是cas,那么你应该将所有非单元测试移出构建并将它们推进管道。

http://nakedalm.com/execute-tests-release-management-visual-studio-2013/

您可以使用版本管理来部署应用程序并运行集成测试。在这里,您可以运行大量长时间运行的测试,而无需锁定构建服务器。

相关问题