我使用设置为类级并行的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文件中?
答案 0 :(得分:0)
原因是,在SpecFlow中尚未标记MSTest能够并行化测试执行。
此方法必须返回UnitTestGeneratorTraits.ParallelExecution。
我为此创建了一个问题:https://github.com/techtalk/SpecFlow/issues/988
总是欢迎PR!