gpt4 book ai didi

c# - 如何并行运行 MSpec 测试程序集?

转载 作者:行者123 更新时间:2023-11-30 12:27:42 26 4
gpt4 key购买 nike

我们有以下设置:

  • 团队城市 v8.1.2
  • .NET 2013 解决方案与几个不同的 C# 项目(ASP.NET MVC,库、测试项目等)
  • 我们 95% 的测试都是 MSpec,但我们也有一些 NUnit 测试。
  • 我们有 14 个测试项目,并且还在不断增加...

目前,MSpec 测试的测试阶段大约需要 9 分钟,NUnit 测试需要 1 分钟。我们希望开始将其并行化,因为我们预计测试的数量会快速增长。最好的解决方案是什么,前提是:

  • MSpec 似乎没有任何并行运行器。
  • 测试应按程序集并行进行,测试在同一程序集内按顺序运行。
  • 并行化不应影响我们显示构建结果的方式。我们仍然希望一切按现在的样子聚合。
  • 不应与开发人员机器中的本地执行有任何摩擦。这将要求,无论设置是什么,都不会使我们在本地运行测试变得更加复杂。如果解决方案(无论是什么)允许我们在本地并行运行测试,那就太好了。
  • 我们更愿意利用每个构建代理的并行功能进行扩展,而不是在多个代理上运行,因为我们按代理付费。

最佳答案

要与 TeamCity 并行运行 MSpec 测试,您可以使用 mspec-teamcity-prunner.exe ,它是标准 MSpec runner 的直接替代品。

在 TeamCity 中创建/编辑标准 MSpec 构建步骤,然后将 mspec.exe 的路径替换为 mspec-teamcity-prunner.exe

默认情况下,该工具将并行运行最多 2 个测试程序集,但这可以通过使用 --threads N) 进行控制(例如,--threads 4 4 个线程)在 Additional command line parameters: 字段中。

关于c# - 如何并行运行 MSpec 测试程序集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24611933/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com