【问题标题】:SpecRun- Tests are not showing in Test ExplorerSpecRun- 测试未显示在测试资源管理器中
【发布时间】:2020-09-13 01:26:30
【问题描述】:

我的测试没有显示在测试资源管理器中,我已经创建了一个功能文件并生成了步骤定义,我安装了以下软件包

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

【问题讨论】:

  • 您是否安装了测试适配器包?

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


【解决方案1】:

您收到此错误,因为在您删除 SpecRun.SpecFlow.3-1-0 包后,您不再有任何包来配置使用的单元测试运行器。

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

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

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

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

【讨论】:

  • 我也安装了 SpecRun.Runner,但是测试资源管理器中没有显示任何内容,值得一提的是我正在使用它,所以运行 UI 测试,我有使用 specflow 和 Specflow+ Runner 的 API 框架它有效
猜你喜欢
  • 2016-12-02
  • 1970-01-01
  • 1970-01-01
  • 2020-05-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多