我遇到一个问题,我的测试未显示在“测试资源管理器”中,我创建了一个功能文件并生成了步骤定义,并安装了以下软件包
- SpecFlow-3.1.97
- SpecFlow.Tools.MsBuild.Generation- 3.1.97
- SpecRun.SpecFlow.3-1-0
我还试图从%TEMP%文件夹中删除与specflow相关的任何内容,这没有帮助,而且我在另一个项目中设置了specflow,并且一切正常。
注意:如果不使用-SpecRun.SpecFlow.3-1-0程序包,该测试的确会令人失望,但出现以下错误
OneTimeSetUp: BoDi.ObjectContainerException : Interface cannot be resolved: TechTalk.SpecFlow.UnitTestProvider.IUnitTestRuntimeProvider('nunit')
答案 0 :(得分:1)
您会收到此错误,因为在删除SpecRun.SpecFlow.3-1-0
软件包之后,您再也没有任何软件包可以配置使用的单元测试运行程序了。
以下软件包之一必须添加到规范项目中(包含测试的软件包)以选择单元测试提供者:
来自https://specflow.org/2019/updating-to-specflow-3/
您会在Visual Studio中发现一些东西,因为它具有自己的测试发现。但这与执行它们无关。我们需要NuGet包中的内容来执行方案。