最近,我一直遇到一个关于声纳的令人困惑的问题,我似乎无法弄明白。我无法在网上找到关于这个特定问题的任何内容,所以我想我会伸手去看看是否有人也经历过这个问题。
我使用以下内容:
当我在构建之后执行声纳分析并且在测试完成之后,它会检测到生成的trx文件和覆盖文件。
但是一旦分析完成,它只会报告代码覆盖率。它不会报告单位测试计数。
最初,我在Sonar Begin Analysis步骤的“其他设置”中使用以下参数来专门指向trx:
/d:sonar.exclusions=**Scripts**,**Content** /d:sonar.cs.vscoveragexml.reportsPaths="$(Common.TestResultsDirectory)\*.coverage" /d:sonar.cs.vstest.reportsPaths="$(Common.TestResultsDirectory)\*.trx"
但我只是尝试删除所有这些参数,因为过去声纳代表告诉我你要从网站而不是命令行指定参数。当我删除我的参数时,没有任何改变(我猜这是预期的)。它仍然能够找到trx文件,但仍然没有报告单元测试计数。
我会尝试在UI中添加vstest报告路径,但问题是路径和文件名是动态生成的。路径取决于构建发送到的构建服务器/ vsts代理,并且trx文件名是基于日期时间生成的,据我所知,没有办法强制trx文件具有特定的名。
我还检查了trx文件以确保我可以打开它并报告测试数据。
基本上,据我所知,应报告单位测试次数。它过去确实如此,但最近似乎没有起作用。我不确定这可能是在较新版本的Sonar中修复的吗?不幸的是,我无法升级,因为在较新版本的Sonar中删除了仪表板,而我所工作的组织使用它们。有没有人以前遇到过这个问题,如果有的话,你能解决它吗?如果您需要任何其他信息,请与我们联系!
答案 0 :(得分:0)
尝试使用/d:sonar.cs.vstest.reportsPaths=..\**\TestResults\**\*.trx
代替(附加设置)。
另一方面,有SonarQube 2.1.2可用。