声纳在执行mvn声纳时没有执行单元测试:声纳-Pjs

时间:2013-10-03 08:15:08

标签: javascript sonarqube sonar-runner

我正在使用 javascript应用,其中我想使用声纳对覆盖率报告进行代码验证。使用 SonarQube版本:3.5.1 执行 mvn sonar:sonar -Pjs 时,不执行js unit test

当我使用Sonar版本尝试相同的应用程序时:3.3.1。它正在执行js单元测试,报告显示单元测试和覆盖(效果很好)

SonarQube版本有什么问题:3.5.1?我错过了什么吗?

我已使用命令 mvn sonar:sonar -Pjs

指定了声纳执行的控制台日志

日志: SonarQube版本:3.5.1

[INFO] [13:35:18.697] Compare over 5 days (2013-09-28, analysis of 2013-10-03 13:27:35.255)
[INFO] [13:35:18.706] Compare over 30 days (2013-09-03, analysis of 2013-10-03 13:27:35.255)
[INFO] [13:35:18.738] Profile: Sonar way
[INFO] [13:35:19.139] Base dir: /Users/users/mvnsonarsonarRes
[INFO] [13:35:19.140] Working dir: /Users/users/mvnsonarsonarRes/target/sonar
[INFO] [13:35:19.140] Source dirs: /Users/users/mvnsonarsonarRes/src/main/webapp/js
[INFO] [13:35:19.140] Test dirs: /Users/users/mvnsonarsonarRes/src/test/webapp
[INFO] [13:35:19.140] Binary dirs: /Users/users/mvnsonarsonarRes/target/classes

声纳版本:3.3.1

[INFO] [13:09:38.781] Compare over 5 days (2013-09-28)
[INFO] [13:09:38.781] Compare over 30 days (2013-09-03)
[INFO] [13:09:39.218] Execute maven plugin jstest-maven-plugin...
[INFO] [13:09:39.218] Execute net.awired.jstest:jstest-maven-plugin:1.0:test...
-------------------------------------------------------
 J S   T E S T S
-------------------------------------------------------
Run suite: Login, Agent: emulator
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 10 ms
Results :
Run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 435ms, Coverage : 100%, Agent: emulator
[INFO] For total coverage check with sonar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ---------------------

[INFO] [13:10:24.750] Execute net.awired.jstest:jstest-maven-plugin:1.0:test done: 45532 ms
[INFO] [13:10:24.750] Execute maven plugin jstest-maven-plugin done: 45532 ms
[INFO] [13:10:24.750] Initializer JsTestMavenInitializer...
[INFO] [13:10:24.750] Initializer JsTestMavenInitializer done: 0 ms
[INFO] [13:10:24.750] Initializer ProjectFileSystemLogger...

我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

可能有两个问题。 SonarQube要求构建和声纳运行是两个单独的maven调用。请参阅sonar(页面底部)。

我们的设置如下:

mvn install -Dmaven.test.skip=true
mvn sonar:sonar

这导致仍然没有代码覆盖,就像您报告的问题一样。这是由选项“-Dmaven.test.skip = true”引起的。这导致测试代码未被编译,因此在声纳运行期间不运行,请参阅maven

我们的代码覆盖率在将其更改为:

后再次返回
mvn install -DskipTests
mvn sonar:sonar