【问题标题】:Is there an MS Test Runner that is faster是否有更快的 MS Test Runner
【发布时间】:2010-09-07 17:38:24
【问题描述】:

MS 测试要了我的命。

与 NUnit 相比,它太慢了。我坚持下去,因为我需要能够轻松地将测试结果放入 TFS。 (此外,它与 Pex 配合得更好,我也在使用它)。

但我真的希望它跑得更快。再快一点就好了。

有没有人为 MS Test 测试制作了比 Visual Studio 中嵌入的更快的测试运行器?

【问题讨论】:

  • 我读过报告,指出 MSTest 会为每次测试运行创建 bin 文件夹副本。因此会减慢执行时间。检查是否有设置将其关闭。另一个选项是使用控制台运行器进行 MSTest ..

标签: unit-testing performance mstest


【解决方案1】:

Gallio 平台为 MSTest 提供了一个测试适配器。然后,您可以使用任何支持 Gallio 的运行程序运行您的测试,包括内置运行程序,例如 Echo 或 Icarus,以及第三方运行程序,例如 TD.Net 或 R#。

非 GUI 测试运行器通常稍微快一些。因此,您可能想尝试Echo 或PoSh snap-in。

【讨论】:

  • 使用 Resharper 测试运行器运行 MSTest 单元测试相当快。比我认为的 VS 测试运行器快。
【解决方案2】:

您应该能够通过一些自定义构建任务将 NUnit 集成到 TFS (which some people have done)。如果你真的想发疯,你可以将 NUnit 测试结果转换成 .TRX 文件,然后使用MSTEST command line options直接导入它们

【讨论】:

  • 好主意,但是那个项目已经快一年没有更新了。 (而且我需要使用 TFS 2010 来实现)我想我可以自己推出,但我不确定我是否能够获得批准它的时间。所以我必须在自己的时间做这件事,我不确定这样做是否值得(我还有很多其他项目让我在自己的开发时间里忙得不可开交)。
  • 即使没有自定义构建任务,您也始终可以将可执行文件作为构建步骤运行。网上很多人都想出了将 NUnit 输出转换为 .TRX 文件的方法。此时,您可以将它们直接导入 TFS 并将其直接绑定到构建。
【解决方案3】:

TestDriven.Net 可能是最快的。 然后是嵌入到 Visual Studio 中的 msTest 运行程序。

我发现 ReSharper 测试运行器比内置的要慢,尤其是在解决方案很大的情况下。 在我研究的时候,ReSharper 似乎对解决方案进行了完全重建,而 msTest 只是在构建更改的项目。

所以你最好的选择是 TestDriven.Net

【讨论】:

    【解决方案4】:

    Albacore 有一个 MSTest 任务。

    https://github.com/derickbailey/Albacore/wiki/MSTest-Task

    您可以编写一个简单的 rake 文件来构建您的项目,然后运行 ​​MSTest 任务。

    我的建议是,最初,您编写一个项目以仅运行 albacore MSTest 任务并计算需要多长时间。

    PS:我不会使用 Gallio,因为根据我的经验,该测试运行器运行 NUnit 测试的时间比 TestDriven.net 长 6 秒。 PS 2:我真正的建议是为 xUnit.net 或 NUnit 放弃 MSTest

    【讨论】:

      猜你喜欢
      • 2011-02-23
      • 2021-05-27
      • 1970-01-01
      • 2017-10-30
      • 2019-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多