Specflow 无法检测到我的测试 VS 2017

Specflow could not detect my tests VS 2017

我已经尝试很久了,但还没有成功。我创建了新的单元测试项目并添加了以下内容:

套餐:

Nunit - 3.10.0
Nunit3TestAdapter - 3.11.0
SpecFlow - 2.3.2
SpecFlow.Assist.Dynamic - 1.3.1

App.Config :

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="specFlow"
             type="TechTalk.SpecFlow.Configuration.ConfigurationSectionHandler, TechTalk.SpecFlow"/>
  </configSections>
  <specFlow>
    <unitTestProvider name="MsTest" />
  </specFlow>
</configuration>

我也尝试使用 Nunit 进行上述配置。

还添加了 specflow 默认特征文件和步骤定义文件。但是 VS 2017 仍然无法检测到我的任何测试。

总是得到输出:NUnit 在....

中找不到任何测试

我已经为 Visual Studio 2017 安装了 Specflow。

Specflow.Tools.MSBuild.Generation 版本=2.3.2

中存在错误

解决方法是编辑您的 .csproj 并在 AfterUpdateFeatureFilesInProject 之后添加一个部分。

<Target Name="AfterUpdateFeatureFilesInProject">
  <ItemGroup>
    <Compile Include="@(SpecFlowGeneratedFiles)" />
  </ItemGroup>
</Target>

<!-- Workaround Specflow 2.3 MSBuild bug. SpecFlowGeneratedFiles is not set if UpdateFeatureFilesInProject is up-to-date
   causing tests not to be discovered, as they are not included in the project -->
<ItemGroup>
  <Compile Include="**/*.feature.cs" Exclude="@(SpecFlowGeneratedFiles)">
    <DependentUpon>%(Filename)</DependentUpon>
  </Compile>
</ItemGroup>