我是SonarQube的新手,我正试图在Windows上使用它与Javascript项目。我尽可能地遵循了文档,并且成功地看到了声纳的静态代码分析。
我正在使用JsTestDriver进行单元测试,并生成代码覆盖率报告文件。我在SonarQube中看到了测试结果,但代码覆盖率始终报告为0.0%。如果我没有指定代码覆盖率报告文件,或指定不存在的文件名,我的仪表板中的代码覆盖率块根本不显示,所以我知道Sonar在某种意义上看到了该文件。我已经针对该文件运行了jGenHtml,它产生了正确的HTML输出,结果是我所期望的,所以我知道该文件有内容并且格式正确。
我已在Javascript插件设置中指定了这些文件的位置。正如文档和我发现的一些论坛帖子所示,我使用相对目录路径测试/结果来获得实际单元测试结果(显示正常)以及覆盖范围的相对文件名test / results / code-coverage.dat报告。我也尝试将文件指定为绝对路径,但它没有帮助。
任何见解都将受到赞赏。
答案 0 :(得分:0)
由于David RACODON提出的建议,现在正在运作。
我的代码覆盖率报告似乎包含如下所示的文件路径:
SF:H:\ perforce_workspaces \ atlasjs_main \ \测试\ lib中\ jquery的-1.8.2.js
我编辑了文件以删除中间的\。\位,现在Sonar可以导入文件了。
示例项目的覆盖率报告在其路径中没有这个,我注意到我使用的jsTestDriver比示例应用程序更新一些。我使用的是1.3.5,而示例应用程序则附带1.3.4.b.我不知道他们是否更改了coverage插件修订版之间的输出格式,或者这是否与我的项目具体相关。无论如何,我应该能够找到一种方法来防止或删除有问题的角色。
请注意,jgenhtml能够使用extraneoud \。\来读取我的文件。所以这似乎是Sonar非常挑剔的问题。