简体   繁体   English

仅安装 Specflow.MSTest 包时,Specflow 3.0 会错误地生成 NUnit 测试

[英]Specflow 3.0 incorrectly generating NUnit tests when only Specflow.MSTest package is installed

Specflow is generating code behind files referencing NUnit Test Attributes when MSTest is specified as the Unit Test Provider当 MSTest 被指定为单元测试提供程序时,Specflow 正在生成引用 NUnit 测试属性的文件背后的代码

// ------------------------------------------------------------------------------
//  <auto-generated>
//      This code was generated by SpecFlow (http://www.specflow.org/).
//      SpecFlow Version:3.0.0.0
//      SpecFlow Generator Version:3.0.0.0
// 
//      Changes to this file may cause incorrect behavior and will be lost if
//      the code is regenerated.
//  </auto-generated>
// ------------------------------------------------------------------------------
#region Designer generated code
#pragma warning disable
namespace Microsoft.Azure.OneIM.Service.AcceptanceTests.Features.OutageAlertRuleManagement
{
    using TechTalk.SpecFlow;


    [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.0.0.0")]
    [System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
    [NUnit.Framework.TestFixtureAttribute()]
    [NUnit.Framework.DescriptionAttribute("Outage Alert Rule Management")]
    public partial class OutageAlertRuleManagementFeature
    {

        private TechTalk.SpecFlow.ITestRunner testRunner;
    ...

I updated our relatively out of data specflow version to 3.0 today by walking through this documentation我今天通过浏览此文档将相对过时的数据规范流版本更新为 3.0

We use MsTest, so as specified I installed the Specflow.MSTest package.我们使用 MsTest,因此我安装了 Specflow.MSTest 包。 Here's our package.json这是我们的 package.json

<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="BoDi" version="1.4.1" targetFramework="net461" />
  <package id="Bond.Core.CSharp" version="5.0.0" targetFramework="net461" />
  <package id="Bond.CSharp" version="5.0.0" targetFramework="net461" />
  <package id="Bond.Runtime.CSharp" version="5.0.0" targetFramework="net461" />
  <package id="Dapper" version="1.50.2" targetFramework="net451" />
  <package id="DsmsCredentialsManagement" version="2.16.843" targetFramework="net461" />
  <package id="EnterpriseLibrary.TransientFaultHandling" version="6.0.1304.0" targetFramework="net451" />
  <package id="EnterpriseLibrary.TransientFaultHandling.WindowsAzure.Storage" version="6.0.1304.1" targetFramework="net451" />
  <package id="EntityFramework" version="6.1.3" targetFramework="net452" />
  <package id="Gherkin" version="6.0.0" targetFramework="net461" />
  <package id="libphonenumber-csharp" version="7.0.9" targetFramework="net451" />
  <package id="Microsoft.AspNet.WebApi.Client" version="5.2.3" targetFramework="net451" />
  <package id="Microsoft.AspNet.WebApi.Core" version="5.2.3" targetFramework="net451" />
  <package id="Microsoft.Azure.SqlDatabase.ElasticScale.Client" version="1.1.0" targetFramework="net451" />
  <package id="Microsoft.Cloud.InstrumentationFramework" version="3.0.6.79" targetFramework="net461" />
  <package id="Microsoft.Team.Common.amd64" version="2.3.0.615" targetFramework="net461" />
  <package id="Microsoft.Team.Common.Web.amd64" version="2.4.0.529" targetFramework="net461" />
  <package id="Microsoft.Team.Diagnostics.amd64" version="2.4.0.529" targetFramework="net461" />
  <package id="Microsoft.Team.Storage" version="1.2.0.216" targetFramework="net451" />
  <package id="Microsoft.Team.Storage.SqlServer" version="1.2.0.222" targetFramework="net461" />
  <package id="Microsoft.OData.Client" version="6.14.0" targetFramework="net451" />
  <package id="Microsoft.OData.Core" version="6.14.0" targetFramework="net451" />
  <package id="Microsoft.OData.Edm" version="6.14.0" targetFramework="net451" />
  <package id="Microsoft.ServiceFabric" version="5.6.220" targetFramework="net451" />
  <package id="Microsoft.ServiceFabric.Data" version="2.6.220" targetFramework="net451" />
  <package id="Microsoft.ServiceFabric.Services" version="2.6.220" targetFramework="net451" />
  <package id="Microsoft.Spatial" version="6.14.0" targetFramework="net451" />
  <package id="Moq" version="4.2.1409.1722" targetFramework="net451" />
  <package id="MS.Team.Storage.TestLibrary" version="1.2.0.222" targetFramework="net461" />
  <package id="MSTest.TestFramework" version="1.4.0" targetFramework="net461" />
  <package id="Newtonsoft.Json" version="11.0.2" targetFramework="net461" />
  <package id="SpecFlow" version="3.0.225" targetFramework="net461" />
  <package id="SpecFlow.MsTest" version="3.0.225" targetFramework="net461" />
  <package id="SpecFlow.Tools.MsBuild.Generation" version="3.0.225" targetFramework="net461" />
  <package id="System.Reflection.Emit" version="4.3.0" targetFramework="net461" />
  <package id="System.Reflection.Emit.Lightweight" version="4.3.0" targetFramework="net461" />
  <package id="System.Threading.Tasks.Extensions" version="4.4.0" targetFramework="net461" />
  <package id="System.ValueTuple" version="4.4.0" targetFramework="net461" />
  <package id="Unity" version="3.5.1404.0" targetFramework="net452" />
  <package id="Unity.Interception" version="3.5.1404.0" targetFramework="net452" />
  <package id="Utf8Json" version="1.3.7" targetFramework="net461" />
</packages>

This is the csproj in full:这是完整的 csproj:

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <Import Project="$(PkgSpecFlow_MsTest)\build\SpecFlow.MsTest.props" Condition="Exists('$(PkgSpecFlow_MsTest)\build\SpecFlow.MsTest.props')" />
  <Import Project="$(PkgSpecFlow_Tools_MsBuild_Generation)\build\SpecFlow.Tools.MsBuild.Generation.props" Condition="Exists('$(PkgSpecFlow_Tools_MsBuild_Generation)\build\SpecFlow.Tools.MsBuild.Generation.props')" />
  <Import Project="$(PkgBond_CSharp)\build\Bond.CSharp.props" Condition="Exists('$(PkgBond_CSharp)\build\Bond.CSharp.props')" />
  <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory)\.., root.props))\root.props" />
  <PropertyGroup>
    <ProjectGuid>{36D3E255-D478-42E6-B50F-CBAECCFF2C81}</ProjectGuid>
    <OutputType>Library</OutputType>
    <AppDesignerFolder>Properties</AppDesignerFolder>
    <RootNamespace>Microsoft.Azure.OneIM.Service.AcceptanceTests</RootNamespace>
    <AssemblyName>Microsoft.Azure.OneIM.Service.AcceptanceTests</AssemblyName>
    <TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
    <FileAlignment>512</FileAlignment>
    <ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
    <TargetFrameworkProfile />
    <NuGetPackageImportStamp>
    </NuGetPackageImportStamp>
  </PropertyGroup>
  <ItemGroup>
    <Reference Include="$(PkgBond_Core_CSharp)\lib\net45\Bond.dll">
      <Private>True</Private>
      <Name>Bond</Name>
    </Reference>
    <Reference Include="$(PkgBond_Core_CSharp)\lib\net45\Bond.Attributes.dll">
      <Private>True</Private>
      <Name>Bond.Attributes</Name>
    </Reference>
    <Reference Include="$(PkgBond_Core_CSharp)\lib\net45\Bond.IO.dll">
      <Private>True</Private>
      <Name>Bond.IO</Name>
    </Reference>
    <Reference Include="$(PkgBond_Runtime_CSharp)\lib\net45\Bond.JSON.dll">
      <Private>True</Private>
      <Name>Bond.JSON</Name>
    </Reference>
    <Reference Include="$(PkgDapper)\lib\net45\Dapper.dll">
      <Name>Dapper</Name>
    </Reference>
    <Reference Include="$(PkgEntityFramework)\lib\net45\EntityFramework.dll">
      <Name>EntityFramework</Name>
    </Reference>
    <Reference Include="$(PkgEntityFramework)\lib\net45\EntityFramework.SqlServer.dll">
      <Name>EntityFramework.SqlServer</Name>
    </Reference>
    <Reference Include="$(PkgMicrosoft_Azure_SqlDatabase_ElasticScale_Client)\lib\net45\Microsoft.Azure.SqlDatabase.ElasticScale.Client.dll">
      <Name>Microsoft.Azure.SqlDatabase.ElasticScale.Client</Name>
    </Reference>
    <Reference Include="$(PkgMicrosoft_Team_Storage)\lib\net45\Microsoft.Team.Storage.dll">
      <Name>Microsoft.Team.Storage</Name>
    </Reference>
    <Reference Include="$(PkgMicrosoft_OData_Client)\lib\net40\Microsoft.OData.Client.dll">
      <Name>Microsoft.OData.Client</Name>
    </Reference>
    <Reference Include="$(PkgMicrosoft_OData_Core)\lib\portable-net40+sl5+wp8+win8+wpa\Microsoft.OData.Core.dll">
      <Name>Microsoft.OData.Core</Name>
    </Reference>
    <Reference Include="$(PkgMicrosoft_OData_Edm)\lib\portable-net40+sl5+wp8+win8+wpa\Microsoft.OData.Edm.dll">
      <Name>Microsoft.OData.Edm</Name>
    </Reference>
    <Reference Include="$(PkgMicrosoft_OneIM_Common_WinFabHost)\lib\net45\Microsoft.OneIM.Common.WinFabHost.exe">
      <Name>Microsoft.OneIM.Common.WinFabHost</Name>
    </Reference>
    <Reference Include="$(PkgEnterpriseLibrary_TransientFaultHandling)\lib\portable-net45+win+wp8\Microsoft.Practices.EnterpriseLibrary.TransientFaultHandling.dll">
      <Name>Microsoft.Practices.EnterpriseLibrary.TransientFaultHandling</Name>
    </Reference>
    <Reference Include="$(PkgEnterpriseLibrary_TransientFaultHandling_WindowsAzure_Storage)\lib\NET45\Microsoft.Practices.EnterpriseLibrary.TransientFaultHandling.WindowsAzure.Storage.dll">
      <Name>Microsoft.Practices.EnterpriseLibrary.TransientFaultHandling.WindowsAzure.Storage</Name>
    </Reference>
    <Reference Include="$(PkgUnity)\lib\net45\Microsoft.Practices.Unity.dll">
      <Name>Microsoft.Practices.Unity</Name>
    </Reference>
    <Reference Include="$(PkgUnity)\lib\net45\Microsoft.Practices.Unity.Configuration.dll">
      <Name>Microsoft.Practices.Unity.Configuration</Name>
    </Reference>
    <Reference Include="$(PkgUnity_Interception)\lib\Net45\Microsoft.Practices.Unity.Interception.dll">
      <Name>Microsoft.Practices.Unity.Interception</Name>
    </Reference>
    <Reference Include="$(PkgUnity_Interception)\lib\Net45\Microsoft.Practices.Unity.Interception.Configuration.dll">
      <Name>Microsoft.Practices.Unity.Interception.Configuration</Name>
    </Reference>
    <Reference Include="$(PkgUnity)\lib\net45\Microsoft.Practices.Unity.RegistrationByConvention.dll">
      <Name>Microsoft.Practices.Unity.RegistrationByConvention</Name>
    </Reference>
    <Reference Include="$(PkgMicrosoft_ServiceFabric_Data)\lib\net45\Microsoft.ServiceFabric.Data.dll">
      <Name>Microsoft.ServiceFabric.Data</Name>
    </Reference>
    <Reference Include="$(PkgMicrosoft_ServiceFabric_Data)\lib\net45\Microsoft.ServiceFabric.Data.Interfaces.dll">
      <Name>Microsoft.ServiceFabric.Data.Interfaces</Name>
    </Reference>
    <Reference Include="$(PkgMicrosoft_ServiceFabric)\lib\net45\Microsoft.ServiceFabric.Internal.dll">
      <Name>Microsoft.ServiceFabric.Internal</Name>
    </Reference>
    <Reference Include="$(PkgMicrosoft_ServiceFabric)\lib\net45\Microsoft.ServiceFabric.Internal.Strings.dll">
      <Name>Microsoft.ServiceFabric.Internal.Strings</Name>
    </Reference>
    <Reference Include="$(PkgMicrosoft_ServiceFabric_Services)\lib\net45\Microsoft.ServiceFabric.Services.dll">
      <Name>Microsoft.ServiceFabric.Services</Name>
    </Reference>
    <Reference Include="$(PkgMicrosoft_Spatial)\lib\portable-net40+sl5+wp8+win8+wpa\Microsoft.Spatial.dll">
      <Name>Microsoft.Spatial</Name>
    </Reference>
    <Reference Include="$(PkgMoq)\lib\net40\Moq.dll">
      <Name>Moq</Name>
    </Reference>
    <Reference Include="$(Pkglibphonenumber_csharp)\lib\PhoneNumbers.dll">
      <Name>PhoneNumbers</Name>
    </Reference>
    <Reference Include="$(PkgMicrosoft_ServiceFabric)\lib\net45\System.Fabric.dll">
      <Name>System.Fabric</Name>
    </Reference>
    <Reference Include="$(PkgMicrosoft_ServiceFabric)\lib\net45\System.Fabric.Management.ServiceModel.dll">
      <Name>System.Fabric.Management.ServiceModel</Name>
    </Reference>
    <Reference Include="$(PkgMicrosoft_ServiceFabric)\lib\net45\System.Fabric.Management.ServiceModel.XmlSerializers.dll">
      <Name>System.Fabric.Management.ServiceModel.XmlSerializers</Name>
    </Reference>
    <Reference Include="$(PkgMicrosoft_ServiceFabric)\lib\net45\System.Fabric.Strings.dll">
      <Name>System.Fabric.Strings</Name>
    </Reference>
    <Reference Include="$(PkgMicrosoft_AspNet_WebApi_Client)\lib\net45\System.Net.Http.Formatting.dll">
      <Name>System.Net.Http.Formatting</Name>
    </Reference>
    <Reference Include="$(PkgMicrosoft_AspNet_WebApi_Core)\lib\net45\System.Web.Http.dll">
      <Name>System.Web.Http</Name>
    </Reference>
    <Reference Include="$(PkgBoDi)\lib\net45\BoDi.dll">
      <Name>BoDi</Name>
    </Reference>
    <Reference Include="$(PkgMicrosoft_Cloud_InstrumentationFramework)\lib\net40\Microsoft.Cloud.InstrumentationFramework.Events.dll">
      <Name>Microsoft.Cloud.InstrumentationFramework.Events</Name>
    </Reference>
    <Reference Include="$(PkgMicrosoft_Cloud_InstrumentationFramework)\lib\net40\Microsoft.Cloud.InstrumentationFramework.Health.dll">
      <Name>Microsoft.Cloud.InstrumentationFramework.Health</Name>
    </Reference>
    <Reference Include="$(PkgMicrosoft_Cloud_InstrumentationFramework)\lib\net40\Microsoft.Cloud.InstrumentationFramework.Metrics.dll">
      <Name>Microsoft.Cloud.InstrumentationFramework.Metrics</Name>
    </Reference>
    <Reference Include="$(PkgDsmsCredentialsManagement)\lib\net40\Microsoft.WindowsAzure.Security.CredentialsManagement.Client.dll">
      <Name>Microsoft.WindowsAzure.Security.CredentialsManagement.Client</Name>
    </Reference>
    <Reference Include="$(PkgDsmsCredentialsManagement)\lib\net40\Microsoft.WindowsAzure.Security.CredentialsManagement.StorageHelper.dll">
      <Name>Microsoft.WindowsAzure.Security.CredentialsManagement.StorageHelper</Name>
    </Reference>
    <Reference Include="$(PkgMicrosoft_Team_Common_amd64)\lib\net45\Microsoft.Team.Common.dll">
      <Name>Microsoft.Team.Common</Name>
    </Reference>
    <Reference Include="$(PkgMicrosoft_Team_Common_Web_amd64)\lib\net45\Microsoft.Team.Common.Web.dll">
      <Name>Microsoft.Team.Common.Web</Name>
    </Reference>
    <Reference Include="$(PkgMicrosoft_Team_Diagnostics_amd64)\lib\net45\Microsoft.Team.Diagnostics.dll">
      <Name>Microsoft.Team.Diagnostics</Name>
    </Reference>
    <Reference Include="$(PkgMicrosoft_Team_Storage_SqlServer)\lib\net45\Microsoft.Team.Storage.Implementation.dll">
      <Name>Microsoft.Team.Storage.Implementation</Name>
    </Reference>
    <Reference Include="$(PkgMicrosoft_Team_Storage_SqlServer)\lib\net45\Microsoft.Team.Storage.SqlServer.dll">
      <Name>Microsoft.Team.Storage.SqlServer</Name>
    </Reference>
    <Reference Include="$(PkgMS_Team_Storage_TestLibrary)\lib\net45\MS.Team.Storage.TestLibrary.dll">
      <Name>MS.Team.Storage.TestLibrary</Name>
    </Reference>
    <Reference Include="$(PkgNewtonsoft_Json)\lib\net45\Newtonsoft.Json.dll">
      <Name>Newtonsoft.Json</Name>
    </Reference>
    <Reference Include="$(PkgGherkin)\lib\net45\Gherkin.dll">
      <Name>Gherkin</Name>
    </Reference>
    <Reference Include="$(PkgMicrosoft_Team_Rules_Domain)\lib\net45\Microsoft.Team.Rules.Domain.dll">
      <Name>Microsoft.Team.Rules.Domain</Name>
    </Reference>
    <Reference Include="$(PkgMSTest_TestFramework)\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.dll">
      <Name>Microsoft.VisualStudio.TestPlatform.TestFramework</Name>
    </Reference>
    <Reference Include="$(PkgMSTest_TestFramework)\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll">
      <Name>Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions</Name>
    </Reference>
    <Reference Include="System" />
    <Reference Include="System.ComponentModel.DataAnnotations" />
    <Reference Include="System.Net.Http" />
    <Reference Include="System.Runtime" />
    <Reference Include="System.Runtime.Serialization" />
    <Reference Include="$(PkgSystem_Threading_Tasks_Extensions)\lib\netstandard2.0\System.Threading.Tasks.Extensions.dll">
      <Name>System.Threading.Tasks.Extensions</Name>
    </Reference>
    <Reference Include="$(PkgSystem_ValueTuple)\lib\net461\System.ValueTuple.dll">
      <Name>System.ValueTuple</Name>
    </Reference>
    <Reference Include="$(PkgSpecFlow)\lib\net45\TechTalk.SpecFlow.dll">
      <Name>TechTalk.SpecFlow</Name>
    </Reference>
    <Reference Include="$(PkgSpecFlow_MsTest)\lib\net45\TechTalk.SpecFlow.MSTest.SpecFlowPlugin.dll">
      <Name>TechTalk.SpecFlow.MSTest.SpecFlowPlugin</Name>
    </Reference>
    <Reference Include="$(PkgUtf8Json)\lib\net45\Utf8Json.dll">
      <HintPath>Utf8Json</HintPath>
    </Reference>
  </ItemGroup>
  <ItemGroup>
    <Folder Include="Properties\" />
  </ItemGroup>
  <ItemGroup>
    <None Include="App.config">
      <SubType>Designer</SubType>
    </None>
    <None Include="Features\OutageAlertRuleManagement\OutageAlertRuleManagement.feature" />
    <None Include="packages.config">
      <SubType>Designer</SubType>
    </None>
  </ItemGroup>
  <ItemGroup />
  <ItemGroup>
    <Compile Include="Features\OutageAlertRuleManagement\OutageAlertRuleManagementSteps.cs" />
    <Compile Include="Setup\BeforeTestRunHook.cs" />
    <Compile Include="Setup\TestConstants.cs" />
    <Compile Include="Setup\UnitySetup.cs" />
  </ItemGroup>
  <ItemGroup>
    <ProjectReference Include="..\..\Product\Service.Business\Service.Business.csproj">
      <Project>{9caf6690-e918-4d2a-99dd-2864cfd216a2}</Project>
      <Name>Service.Business</Name>
    </ProjectReference>
    <ProjectReference Include="..\..\Product\Service.Core\Service.Core.csproj">
      <Project>{e1befc55-8b80-4c61-998b-c0d5cb6f4f9a}</Project>
      <Name>Service.Core</Name>
    </ProjectReference>
    <ProjectReference Include="..\..\Product\Service.External\Service.External.csproj">
      <Project>{8c0eafa6-9ce7-4993-a42f-102d287e270f}</Project>
      <Name>Service.External</Name>
    </ProjectReference>
    <ProjectReference Include="..\..\Product\Service.Service\Service.Service.csproj">
      <Project>{d6aca221-5b31-4363-85f2-b7f745c30ba6}</Project>
      <Name>Service.Service</Name>
    </ProjectReference>
    <ProjectReference Include="..\..\Product\Service.Storage\Service.Storage.csproj">
      <Project>{e048ebcf-2363-4dd5-ade3-daeb7b396e24}</Project>
      <Name>Service.Storage</Name>
    </ProjectReference>
  </ItemGroup>
  <ItemGroup>
    <QCustomInput Include="$(PkgMsBuildShim_OneBranch)">
      <Visible>false</Visible>
    </QCustomInput>
    <QCustomInput Include="$(PkgVisualStudio_StaticAnalysisTools_Corext)">
      <Visible>false</Visible>
    </QCustomInput>
  </ItemGroup>
  <ItemGroup>
    <Content Include="$(PkgDsmsCredentialsManagement)\lib\Native\ManagedCertStore.dll">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    </Content>
    <Content Include="$(PkgDsmsCredentialsManagement)\lib\Native\SecretsPackage.dll">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    </Content>
    <Content Include="$(PkgDsmsCredentialsManagement)\lib\Native\CMClientLib.dll">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    </Content>
  </ItemGroup>
  <Import Project="$(ExtendedTargetsPath)\Microsoft.CSharp.targets" />
  <Import Project="$(PkgBond_CSharp)\build\Bond.CSharp.props" Condition="Exists('$(PkgBond_CSharp)\build\Bond.CSharp.props')" />
  <Import Project="$(PkgMicrosoft_Cloud_InstrumentationFramework)\build\Microsoft.Cloud.InstrumentationFramework.targets" Condition="Exists('$(PkgMicrosoft_Cloud_InstrumentationFramework)\build\Microsoft.Cloud.InstrumentationFramework.targets')" />
  <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
    <PropertyGroup>
      <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them.  For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
    </PropertyGroup>
    <Error Condition="!Exists('$(PkgMicrosoft_Cloud_InstrumentationFramework)\build\Microsoft.Cloud.InstrumentationFramework.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(PkgMicrosoft_Cloud_InstrumentationFramework)\build\Microsoft.Cloud.InstrumentationFramework.targets'))" />
    <Error Condition="!Exists('$(PkgBond_CSharp)\build\Bond.CSharp.props')" Text="$([System.String]::Format('$(ErrorText)', '$(PkgBond_CSharp)\build\Bond.CSharp.props'))" />
    <Error Condition="!Exists('$(PkgBond_CSharp)\build\Bond.CSharp.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(PkgBond_CSharp)\build\Bond.CSharp.targets'))" />
    <Error Condition="!Exists('$(PkgDsmsCredentialsManagement)\build\DsmsCredentialsManagement.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(PkgDsmsCredentialsManagement)\build\DsmsCredentialsManagement.targets'))" />
    <Error Condition="!Exists('$(PkgSpecFlow_Tools_MsBuild_Generation)\build\SpecFlow.Tools.MsBuild.Generation.props')" Text="$([System.String]::Format('$(ErrorText)', '$(PkgSpecFlow_Tools_MsBuild_Generation)\build\SpecFlow.Tools.MsBuild.Generation.props'))" />
    <Error Condition="!Exists('$(PkgSpecFlow_Tools_MsBuild_Generation)\build\SpecFlow.Tools.MsBuild.Generation.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(PkgSpecFlow_Tools_MsBuild_Generation)\build\SpecFlow.Tools.MsBuild.Generation.targets'))" />
    <Error Condition="!Exists('$(PkgSpecFlow_MsTest)\build\SpecFlow.MsTest.props')" Text="$([System.String]::Format('$(ErrorText)', '$(PkgSpecFlow_MsTest)\build\SpecFlow.MsTest.props'))" />
    <Error Condition="!Exists('$(PkgSpecFlow_MsTest)\build\SpecFlow.MsTest.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(PkgSpecFlow_MsTest)\build\SpecFlow.MsTest.targets'))" />
  </Target>
  <Import Project="$(PkgBond_CSharp)\build\Bond.CSharp.targets" Condition="Exists('$(PkgBond_CSharp)\build\Bond.CSharp.targets')" />
  <Import Project="$(PkgDsmsCredentialsManagement)\build\DsmsCredentialsManagement.targets" Condition="Exists('$(PkgDsmsCredentialsManagement)\build\DsmsCredentialsManagement.targets')" />
  <Import Project="$(PkgSpecFlow_Tools_MsBuild_Generation)\build\SpecFlow.Tools.MsBuild.Generation.targets" Condition="Exists('$(PkgSpecFlow_Tools_MsBuild_Generation)\build\SpecFlow.Tools.MsBuild.Generation.targets')" />
  <Import Project="$(PkgSpecFlow_MsTest)\build\SpecFlow.MsTest.targets" Condition="Exists('$(PkgSpecFlow_MsTest)\build\SpecFlow.MsTest.targets')" />
  <Target Name="AfterUpdateFeatureFilesInProject">
    <!-- include any generated SpecFlow files in the compilation of the project if not included yet -->
    <ItemGroup>
      <Compile Include="**\*.feature.cs" Exclude="@(Compile)" />
    </ItemGroup>
  </Target>
</Project>

and I ensured that the Custom Tool field has been wiped on the feature file as well.并且我确保自定义工具字段也已在功能文件上擦除。

Quite unsure how to proceed here.非常不确定如何在这里进行。 According to their docs, you specify the test provider in Specflow 3 based on test provider package you install.根据他们的文档,您可以根据安装的测试提供程序包在 Specflow 3 中指定测试提供程序。

I my case adding the following in App.config file worked:我的情况在 App.config 文件中添加以下内容有效:

  <specFlow>
    <unitTestProvider name="xUnit" />
    <generator allowDebugGeneratedFiles="true" />
  </specFlow>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 在Nunit控制台上运行Specflow 3.0报告 - Running Specflow 3.0 reports on Nunit console 使用Nunit和Specflow报告生成蛋糕 - Cake build with the Nunit and Specflow report generating 使用Specflow和NUnit版本3在paralel中运行测试 - Using Specflow and NUnit version 3 to run tests in paralel Specflow 功能不会自动生成 cs 文件或在 C# Nunit 项目中显示为测试 - Specflow features aren't auto-generating cs files or appearing as tests in C# Nunit project 使用 Nunit3-Console.exe 运行 specflow 测试,但仅检测来自一个命名空间的测试 - Using Nunit3-Console.exe to run specflow tests but detects tests from only one namespace Specflow测试功能和不同项目中的步骤,使用MsTest运行时失败,但在Visual Studio中通过 - Specflow tests feature and steps in different projects, fail when running with MsTest, but pass in Visual Studio 使用NUnit3TestAdapter在vstest.console上运行测试时,并非所有Specflow Hook都会执行 - Not all Specflow Hooks are executed when running tests on vstest.console with NUnit3TestAdapter Specflow 2.3.2:为什么Specflow使用“ Microsoft.VisualStudio.TestTools”而不是“ NUnit.Framework”生成* .cs文件 - Specflow 2.3.2: why is Specflow generating *.cs files using “Microsoft.VisualStudio.TestTools” instead of “NUnit.Framework” 使用 Visual Studio 2017 的 specflow + nunit3 中未显示测试 - The tests are not shown in specflow + nunit3 with Visual Studio 2017 使用 nunit 报告 Specflow 测试的名称、步骤和状态 - Reporting name, steps and status on Specflow tests using nunit
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM