.net - 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')
解决方案
您会收到此错误,因为在您删除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 包中的东西来执行场景。
推荐阅读
- node.js - Nock 标头 - 错误:Nock:与请求不匹配
- python - 我可以在多行 f 字符串中期望什么行尾
- jestjs - 当模拟类依赖于 SUT 时,如何更改不同测试的 jest.mock 值?
- ubuntu - openssh 无法创建目录 /home/local/
/.ssh - javascript - export.module 和 Firebase-admin 的问题
- python - 此列表中的数字之一是否在两个给定整数之间?
- sql - 在 PLSQL 中显示非唯一记录的方法
- linux - 在 git 中同步 2 个存储库
- javascript - useEffect 和 useMemo 有什么区别?
- python - 如何在 Pillow 库的 truetype() 函数中设置像素大小?