使用specflow 2.2.1和MSTest V2生成并行feature.cs文件

时间:2017-12-12 15:01:32

标签: mstest specflow

我使用设置为类级并行的mstest v2并行运行我的单元测试。但是,当我生成或重新生成specflow feature.cs文件(richt-click =>'运行自定义工具'或'重新生成功能文件')时,我得到:

        [Microsoft.VisualStudio.TestTools.UnitTesting.ClassInitializeAttribute()]
    public static void FeatureSetup(Microsoft.VisualStudio.TestTools.UnitTesting.TestContext testContext)
    {
        testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(null, 0);
        TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "UserPreferences", "\tIn order to customize my dashboards", ProgrammingLanguage.CSharp, new string[] {
                    "API"});
        testRunner.OnFeatureStart(featureInfo);
    }

如果我将要素文件中的以下行更改为:

testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner();

它能够并行运行测试。 有没有办法强制 specflow生成并行化形式的' .GetTestRunner()'在feature.cs文件中?

1 个答案:

答案 0 :(得分:0)

原因是,在SpecFlow中尚未标记MSTest能够并行化测试执行。

请参阅https://github.com/techtalk/SpecFlow/blob/master/TechTalk.SpecFlow.Generator/UnitTestProvider/MsTestGeneratorProvider.cs#L32

此方法必须返回UnitTestGeneratorTraits.ParallelExecution。

我为此创建了一个问题:https://github.com/techtalk/SpecFlow/issues/988

总是欢迎PR!