【问题标题】:How to reduce MSTest execution time in .NET?如何减少 .NET 中的 MSTest 执行时间?
【发布时间】:2017-02-27 15:53:03
【问题描述】:

在工作中,我们有一个大约需要 4 小时才能运行的测试套件。我已经使用 Phantom JS 将这个时间缩短到了 2 个小时。但是,我想进一步了解这一点。

我们在 Visual Studio 2013 中使用 MsTest。大部分测试都是用 Specflow 编写的。

我有兴趣让并行执行工作。执行此操作以升级到 VS 2015 的最佳方法是什么?我知道我可以使用 Specflow+,但正在寻找免费选项。

减少测试运行时间的最佳方法是什么?

感谢和建议。

【问题讨论】:

    标签: .net visual-studio unit-testing testing mstest


    【解决方案1】:

    我一直在使用这个项目来并行运行我的所有测试(包括 UI 测试) ParallelTestRunner 它允许您指定并行运行的踏板数。

    【讨论】:

    • 嗨,谢谢,我忘了说大部分测试都是用 specflow 编写的,这让事情变得有点尴尬。你认为这仍然有效吗?
    • 我也使用 specflow。您只需以正确的方式对测试进行分组,以便能够并行运行测试。您还可以重写您的测试以遵循用户旅程方法,这将结合大量测试并减少执行时间。有很多方法可以减少执行时间,可能会将一些测试转移到集成级别或使用 Karma 和 Mocha 的 JavaScript。
    • 我做了一些研究,Nunit 3.0 支持并行执行。将此行添加到您的 AssemblyInfo.cs [assembly: Parallelizable(ParallelScope.Fixtures)] 并使用 nunit 作为您的规范流运行器。
    • 感谢您的帮助。我目前正在尝试。希望从 mstest 到 NUnit 的转换相当轻松
    • 嗯,转换为 NUnit 相当简单,但我遇到了一个问题,即静态变量 FeatureContext 一次被多个测试访问。此处描述的问题。 github.com/techtalk/SpecFlow/issues/552
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-03
    • 2012-12-31
    • 2016-01-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多