SpecFlow测试在VS运行正常,CLI调用SpecRun无测试用例执行
SpecRun 命令行执行扫描不到测试的排查方案
- 测试程序集路径配置错误
你当前srprofile中配置的<TestAssemblyPath>Browser_Automation_Framework.dll</TestAssemblyPath>是相对于执行specrun命令的工作目录解析,而非srprofile文件所在目录。
绝大多数情况下测试编译后的dll会输出到项目的bin\Debug\netX.X(对应Debug配置)或bin\Release\netX.X目录下,需要把路径补全,示例:<TestAssemblyPath>Browser_Automation_Framework\bin\Debug\net6.0\Browser_Automation_Framework.dll</TestAssemblyPath> - 未提前编译测试项目
Visual Studio运行测试时会自动编译最新代码,命令行执行前需要先手动编译测试项目,确保配置路径下的dll是最新生成的、包含所有.feature文件对应的测试代码。 - SpecFlow与SpecRun版本不兼容
你使用的SpecRun版本为3.9.7,需确认测试项目中安装的SpecFlow、SpecRun.SpecFlowNuGet包大版本与SpecRun版本一致,跨大版本会导致测试识别失败。 - 执行命令与测试框架不匹配
若你的测试项目基于.NET Core/.NET 5+开发,不能使用.NET Framework版本的specrun.exe执行,需要使用dotnet specrun命令执行测试,执行前确保测试项目已安装SpecRun.SpecFlow适配包。 - 开启调试日志定位问题
执行命令时增加--debug参数输出详细日志,可直接看到是无法找到测试dll,还是找到dll后未识别到有效测试:specrun.exe run Browser_Automation_Framework\Default.srprofile --debug
内容的提问来源于stack exchange,提问作者Jinx
相关产品推荐
相关产品推荐

