我使用js testdriver生成覆盖率和单元测试报告,然后使用声纳运行器输出。
尽管所有声源都出现在声纳中以及正确的测试覆盖率和测试结果,但每当我点击源测试本身时,我就会得到“无法找到单元测试的来源:Chrome_290154776_Windows.CurrencyTest在任何测试目录中”< / p>
请参阅以下屏幕截图:
我注意到的唯一显而易见的事情是浏览器/操作系统名称已被添加到测试类名称中,但之前这不是问题,这通常很好吗?
此外,如果我尝试通过点击仪表板上的“覆盖范围”然后浏览到经过单元测试的类来查看覆盖范围,则它们不会出现。然而,我可以手动浏览到该类(例如,从仪表板中单击文件),甚至可以从那里调出代码覆盖率!
请参阅以下说明:
这可能是上一个问题的结果还是无关?
据我所知,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
我已经到了我的系绳的末端,这对我没有任何意义。任何帮助将不胜感激!
干杯
答案 0 :(得分:0)
看到同样的问题。在带有Javascript插件1.4的声纳堆栈1.4上。不得不将这个插件从1.5降级到1.4以使jstest属性在下面工作。声纳3.74
我的测试在我的项目的测试目录中,我的javascript在js目录中。
Sonar-project.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 - 解析JsTestDriver从文件夹/报告中运行Surefile格式 16:44:35.488 DEBUG - 添加unittest资源:org.sonar.api.resources.File@74c6fd6e [key = PhantomJS 1.9.7(Mac OS X)。计算器,dir =,filename = PhantomJS 1.9.7(Mac OS X) ).Calculator,语言= JavaScript的] 16:44:35.501 INFO - 传感器JsTestSensor完成:131 ms
我在上面的声纳报告中怀疑地看着“dir =”。不确定如何设置它。
有没有人在声纳1.5堆叠上取得更多成功?