2017-05-24 144 views
0

最近,我已经遇到了关于声纳的一个令人困惑的问题,我似乎无法弄清楚。我无法在网上找到关于这个特定问题的任何信息,所以我想我会伸手去看看是否有人也经历过这种情况。声纳 - 报告的代码覆盖率,但单元测试计数未报告

我使用了以下内容:

  • 声纳6.0
  • TFS 2017年更新1
  • SonarQube VSTS扩展2.1.1
  • 与Visual Studio构建服务器2017年

当在构建完成后,我正在执行声呐分析,并且在测试完成后,它会检测得到的trx文件和覆盖率文件。

trx file detected

coverage file detected

但是,一旦分析完成,它只报告代码覆盖率。它不报告单元测试计数。

coverage but no test count

原来我用的是下面的参数在声纳“其他设置”开始分析步骤,具体地说,它指向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报告路径,但问题是路径和文件名是动态生成的。路径取决于构建发送到的server/vstage代理的构建方式,trx文件名基于日期时间生成,并且据我所知,无法强制trx文件具有特定的名称。

我还检查了trx文件以确保我可以打开它并报告测试数据。

本质上,据我所知,应该报告单位测试计数。它在过去做过,但似乎最近一直没有工作。我不确定这是否可以在更新版本的Sonar中修复?不幸的是,我无法升级,因为仪表板在较新版本的Sonar中被删除,而我工作的组织使用它们。有没有人遇到过这个问题,如果是的话,你能解决它吗?让我知道你是否需要任何额外的信息!

回答

0

尝试使用/d:sonar.cs.vstest.reportsPaths=..\**\TestResults\**\*.trx代替(其他设置)。另一方面,有SonarQube 2.1.2 aviable。

我的结果:https://1drv.ms/i/s!AresBGZVYryjhSpb9taJWFht7YB9

+0

可悲的是,没有为我工作:(它仍然是绝对虽然捡了TRX文件,所以这真的很奇怪... –

+0

如果您在声纳服务器上使用它,结果如何? –

+0

http://imgur.com/5JbquRk因此它显示了更一般的指标,但没有基于单元测试计数的具体指标。让我知道如果你想看到其他东西,我可以抓住它! –

相关问题