C# specflow 3和nunit有什么问题?
我正在尝试使用Visual Studio 2017在C#中设置一个基本项目,该项目使用specflow 3和nunit运行测试。我以前使用过specflow版本2.4.1,安装和运行测试都很简单。但是,在尝试使用nunit设置specflow 3时,我不断出现错误 我尝试了以下步骤: 我得到的最远的结果是下面的错误 [SpecFlow]系统。异常:已设置单元测试提供程序 此外,我的代码隐藏未生成,但我已安装nuget软件包SpecFlow.Tools.MsBuild.Generation,该软件包应生成功能文件的后端C# specflow 3和nunit有什么问题?,c#,visual-studio-2017,nunit,specflow,C#,Visual Studio 2017,Nunit,Specflow,我正在尝试使用Visual Studio 2017在C#中设置一个基本项目,该项目使用specflow 3和nunit运行测试。我以前使用过specflow版本2.4.1,安装和运行测试都很简单。但是,在尝试使用nunit设置specflow 3时,我不断出现错误 我尝试了以下步骤: 我得到的最远的结果是下面的错误 [SpecFlow]系统。异常:已设置单元测试提供程序 此外,我的代码隐藏未生成,但我已安装nuget软件包SpecFlow.Tools.MsBuild.Generation,该软件
有人知道我如何让一个C#项目使用Specflow 3和Nunit吗?我在添加Specflow.xunit nuget包和Specflow+runner nuget包时遇到了这个问题。删除specflow+runner包使我能够使用xunit构建和运行测试。在添加specflow.xunit nuget包和specflow+runner nuget包时,我遇到了这个问题。删除specflow+runner包使我能够使用xunit构建和运行测试。检查app.config并删除引用specflow和nunit的节点。
也可以转到现有的.feature文件,右键单击“属性”。将自定义工具留空。检查app.config并删除引用specflow和nunit的节点。
也可以转到现有的.feature文件,右键单击“属性”。将自定义工具留空。SpecFlow 3不再使用app.config。您需要使用specflow.json文件,这是必需的 确保包含以下Nuget库:
- Microsoft.NET.Test.Sdk
- 努尼特
- SpecFlow
- SpecFlow.NUnit
- SpecFlow.Tools.MsBuild.Generation
。。。而且你应该准备好了。SpecFlow 3不再使用app.config。您需要使用specflow.json文件,这是必需的 确保包含以下Nuget库:
- Microsoft.NET.Test.Sdk
- 努尼特
- SpecFlow
- SpecFlow.NUnit
- SpecFlow.Tools.MsBuild.Generation
。。。您应该可以开始了。@Nkosi您可能已经安装了多个单元测试提供程序包。 删除任何与specflow相关的软件包,如specflow.specrun、specrun.runner软件包,并确保已安装以下软件包(如果已存在),然后重新安装
- 努尼特
- NUnit3TestAdapter
- SpecFlow
- SpecFlow,Nunit
- SpecFlow.Tools.MsBuild.Generation
然后,您可以在“测试资源管理器”窗格中查看测试。我遇到了类似的问题,但我确实按照上面提到的方法重新安装了软件包,解决了这些问题。希望这对您有所帮助 @Nkosi您可能已经安装了多个单元测试提供程序包。 删除任何与specflow相关的软件包,如specflow.specrun、specrun.runner软件包,并确保已安装以下软件包(如果已存在),然后重新安装
- 努尼特
- NUnit3TestAdapter
- SpecFlow
- SpecFlow,Nunit
- SpecFlow.Tools.MsBuild.Generation
然后,您可以在“测试资源管理器”窗格中查看测试。我遇到了类似的问题,但我确实按照上面提到的方法重新安装了软件包,解决了这些问题。希望这对您有所帮助 @Nkosi-我遇到了与您描述的问题相同的错误消息。但是在我的例子中,我使用的是MSTest unittest和SpecRun.SpecFlow。我就是这样解决我的问题的
现在重新构建项目,您应该能够看到在测试资源管理器窗口中编写的Specflow测试。@Nkosi-我遇到了与您描述的相同问题,并显示了相同的错误消息。但是在我的例子中,我使用的是MSTest unittest和SpecRun.SpecFlow。我就是这样解决我的问题的
现在重新构建项目,您应该能够看到在测试资源管理器窗口中编写的Specflow测试。将您的项目与TechTalk提供的测试进行比较。确保您拥有所有必要的软件包,并且项目文件看起来正确无误