我试图制作只扫描测试源文件的Jenkins作业,所以/src/test/java
下的所有内容(使用Maven)。我使用 SonarQube Jenkins 后期操作。
当我们直接在pom文件中配置Sonar时,我们可以在配置文件中执行此操作:
<sonar.sources>/src/test/java</sonar.sources>
<sonar.tests/>
这很好。
但在詹金斯的工作中,我必须将这些指定为&#39;其他属性&#39;我似乎无法指定一个emtpy sonar.tests元素。我尝试了-Dsonar.tests
,-Dsonar.tests=
,-Dsonar.tests=""
,没有任何作用。当此元素不为空时,Sonar将尝试扫描测试文件两次并崩溃。
答案 0 :(得分:1)
构建后步骤明确地是Maven操作。你的问题来自于尝试使用Maven做一些非Mavenish的事情;即忽略惯例,即test目录中的文件应被视为测试。
由于您要将测试扫描为代码,最好的办法是使用构建步骤(使用SonarQube Scanner)并手动设置扫描仪属性。这样可以轻松设置sources目录并省略 tests目录。