SpecRun-测试未显示在“测试资源管理器”中

时间:2020-05-26 09:26:15

标签: .net automated-tests specflow .net-4.7.2 specrun

我遇到一个问题,我的测试未显示在“测试资源管理器”中,我创建了一个功能文件并生成了步骤定义,并安装了以下软件包

 - 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')

1 个答案:

答案 0 :(得分:1)

您会收到此错误,因为在删除SpecRun.SpecFlow.3-1-0软件包之后,您再也没有任何软件包可以配置使用的单元测试运行程序了。

以下软件包之一必须添加到规范项目中(包含测试的软件包)以选择单元测试提供者:

  • SpecRun.Runner =>用于SpecFlow + Runner
  • SpecFlow.xUnit => for xUnit
  • SpecFlow.MsTest =>用于MSTest
  • SpecFlow.NUnit =>用于NUnit

来自https://specflow.org/2019/updating-to-specflow-3/

您会在Visual Studio中发现一些东西,因为它具有自己的测试发现。但这与执行它们无关。我们需要NuGet包中的内容来执行方案。

相关问题