0

我有一个javascript 应用程序,我想在其中使用声纳对覆盖率报告进行代码验证。在使用SonarQube 版本执行mvn sonar:sonar -Pjs时: 3.5.1,它没有执行 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...

我错过了什么吗?

4

1 回答 1

0

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

我们的设置如下:

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

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

在将其更改为:

mvn install -DskipTests
mvn sonar:sonar
于 2013-10-24T09:31:52.143 回答