生成SpecFlow LivingDoc时出现ArgumentOutOfRangeException异常求助
报错原因定位
从堆栈信息可以判断,问题出在LivingDoc CLI解析测试程序集内嵌入的.feature资源路径时,调用字符串截取方法的起始索引超出了字符串长度,属于CLI处理资源路径的兼容性/配置错误。
解决方案
- 版本匹配检查
先卸载现有CLI工具:
再安装和你测试项目内SpecFlow主版本一致的CLI版本,比如项目用的是3.9.74版本的SpecFlow,就执行:dotnet tool uninstall SpecFlow.Plus.LivingDoc.CLI --global
版本不匹配是触发该报错的最高频原因。dotnet tool install SpecFlow.Plus.LivingDoc.CLI --version 3.9.74 --global - .feature文件生成属性检查
打开测试项目,选中所有.feature文件,右键查看属性,确认「生成操作」字段设置为Embedded Resource,如果有文件配置错误改回后重新编译项目,生成新的dll和TestExecution.json文件再执行生成命令。 - 命名&路径规范检查
确认所有.feature文件名称、所在路径没有中文、全角符号、emoji、连续特殊字符,也不要有空格,避免解析时路径字符串生成异常。 - 替代生成方案
如果上述方案都无效,可以直接指定.feature源文件目录生成报告,绕过程序集嵌入资源解析逻辑:livingdoc feature-folder 【替换为你的.feature文件所在的本地目录路径】 -t TestExecution.json
内容的提问来源于stack exchange,提问作者captain jack
相关产品推荐
相关产品推荐

