我正在尝试在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("DisableTests", false)]"
TestSpecs="[AutomatedTests]"
ConfigurationsToTest="[ConfigurationsToBuild]" />
答案 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/
您可以使用版本管理来部署应用程序并运行集成测试。在这里,您可以运行大量长时间运行的测试,而无需锁定构建服务器。