我正在使用设置为类级并行的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();
它能够并行运行测试 . 有没有办法让 force specflow在feature.cs文件中生成'.GetTestRunner()'的并行化形式?
1 回答
原因是,在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总是受欢迎!