我使用 js testdriver 生成覆盖率和单元测试报告,然后将输出与声纳运行器一起使用。
虽然所有源都出现在声纳中,并具有正确的测试覆盖范围和测试结果,但每当我单击测试本身的源时,我只会得到“无法在任何测试目录中找到单元测试源:Chrome_290154776_Windows.CurrencyTest”
请参阅以下屏幕截图:
我注意到的唯一明显的事情是浏览器/操作系统名称已添加到测试类名称中,但这以前不是问题,通常这样好吗?
此外,如果我尝试通过单击仪表板上的“覆盖率”来查看覆盖率,然后浏览到经过单元测试的类,它们不会出现。不过,我可以手动浏览到该类(例如,单击仪表板中的文件),甚至可以从那里调出代码覆盖率!
请参阅以下说明:
这可能是上一个问题的结果还是无关?
据我所知,sonar-project.properties 中的 sonar.tests 指向正确的目录。我的文件夹布局如下:
myProject > src > main
myProject > src > test
myProject > target
sonar-project.properties 看起来像这样
# required metadata
sonar.projectKey=Core-1.0-SNAPSHOT
sonar.projectName=Core
sonar.projectVersion=1.0-SNAPSHOT
# optional description
sonar.projectDescription=
# path to source directories (required)
sonar.sources=src/main
# path to test source directories (optional)
sonar.tests=src/test
# Advanced parameters
sonar.javascript.jstestdriver.reportsPath=target/jstd
sonar.javascript.lcov.reportPath=target/jstd/jsTestDriver.conf-coverage.dat
sonar.dynamicAnalysis=reuseReports
# The value of the property must be the key of the language.
sonar.language=js
# Encoding of the source code
sonar.sourceEncoding=UTF-8
# Additional parameters
# sonar.my.property=value
我已经束手无策了,这对我来说没有任何意义。任何帮助将不胜感激!
干杯
看到同样的问题。在带有 Javascript 插件 1.4 的声纳堆栈 1.4 上。必须将此插件从 1.5 降级到 1.4 才能使 jstest 属性在下面工作。声纳3.74
我的测试位于项目外的 test 目录中,我的 javascript 位于 js 目录中。
声纳项目.properties
sonar.projectKey=karma
sonar.projectName=karma test
sonar.projectVersion=0.0.1
sonar.sources=js
sonar.tests=test
sonar.language=js
sonar.dynamicAnalysis=reuseReports
sonar.javascript.jstest.reportsPath=reports
sonar.javascript.lcov.reportPath=reports/PhantomJS 1.9.7 (Mac OS X)/lcov.info
16:44:35.371 DEBUG - 从文件夹 /reports 解析 Surefile 格式的 JsTestDriver 运行结果 16:44:35.488 调试 - 添加单元测试资源:org.sonar.api.resources.File@74c6fd6e[key=PhantomJS 1.9.7 (Mac OS X).Calculator,dir=,filename=PhantomJS 1.9.7 (Mac OS X) ).计算器,语言=JavaScript] 16:44:35.501 信息 - 传感器 JsTestSensor 完成:131 毫秒
我怀疑地看着上面的声纳报告中的“dir=”。还不知道如何设置。
有人在声纳 1.5 堆栈上取得过更多成功吗?