如何在Bamboo中运行.NET Core 2.1 NUnit单元测试?
解决Bamboo中dotnet test仅提示步骤失败、无具体测试失败信息的问题
我来帮你搞定这个困扰——在CI环境里看不到具体哪个测试失败确实挺耽误事的,结合你的场景(.NET Core 2.1 + NUnit 3.10.1 + Bamboo),可以试试下面几个方案:
1. 增强dotnet test的控制台日志输出
默认的dotnet test命令输出比较简洁,你可以添加控制台日志并设置详细级别,这样失败的测试信息会直接打印到构建日志里:
dotnet test --logger "trx;LogFileName=testresults.trx" --logger "console;verbosity=detailed"
verbosity=detailed会输出每个测试的执行状态,包括失败测试的名称、断言错误等具体信息,方便你在Bamboo的构建日志里直接查看。
2. 让Bamboo解析trx测试报告
你已经生成了trx格式的测试结果文件,接下来可以配置Bamboo自动解析这份报告,把失败的测试单独展示出来:
- 在Bamboo的构建计划中,添加一个Parse Test Results任务
- 选择测试报告格式为Visual Studio Test Results (.trx)
- 指定测试结果文件的路径(比如
**/testresults.trx,确保能匹配到生成的文件) - 保存配置后重新运行构建,Bamboo会在测试结果页面列出所有失败的测试,点击还能查看详细的错误堆栈
3. 确认NUnit测试适配器的安装
确保你的测试项目已经安装了对应版本的NUnit3TestAdapter NuGet包,版本最好和NUnit 3.10.1匹配(比如3.10.x系列)。这个适配器是让dotnet test能正确识别并执行NUnit测试的关键,缺少它可能会导致测试结果输出不完整。
4. 调整Bamboo日志长度限制
如果Bamboo的构建日志被截断,可能会看不到完整的测试失败信息。你可以在Bamboo的构建计划设置里,调整日志的最大长度限制,确保所有测试输出都能被保留。
按照上面的步骤调整后,你应该就能清晰看到具体哪些测试失败,以及对应的错误详情了,排查问题会顺畅很多。
内容的提问来源于stack exchange,提问作者Shaul Behr
相关产品推荐
相关产品推荐

