[英]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.