问题描述
当我点击 Go To Test 或使用 F12 时,没有任何反应。这发生在 VS2019 中的 SpecFlow 测试中。这是一个问题,因为很难在 *.feature 文件中手动找到测试。
有什么办法让它重新开始工作吗?
附言我发现了 https://github.com/SpecFlowOSS/SpecFlow/issues/1457
中描述的类似问题编辑:我使用的是 VS2019 16.8.5、.NET Framework 4.8,我的 csproj 使用旧的 XML 格式,我使用的是 SpecFlow 功能,其中 *.feature.cs are not under source control。
<Import Project="..\packages\SpecFlow.Tools.MsBuild.Generation.3.0.225\build\SpecFlow.Tools.MsBuild.Generation.targets" Condition="Exists('..\packages\SpecFlow.Tools.MsBuild.Generation.3.0.225\build\SpecFlow.Tools.MsBuild.Generation.targets')" />
<Import Project="..\packages\SpecFlow.NUnit.3.0.225\build\SpecFlow.NUnit.targets" Condition="Exists('..\packages\SpecFlow.NUnit.3.0.225\build\SpecFlow.NUnit.targets')" />
解决方法
正如您已经发现的,这是旧项目格式的一个已知问题。 有两种可能的解决方法:
- 转换为 csproj 的新 sdk 格式
- 使用 SpecFlow+ Runner 作为单元测试运行器