pan*_*n40 8 java unit-testing rules sonarqube
是否可以在Sonar中检查*Test.java源代码的质量,例如方法最大大小为100行?
问题是,Java Junit测试随着生产代码和复杂性而增长.
我们有超过1000行和2种方法的单元测试类.
我们想在Sonar中检查这些*Test.java类的一些规则.
从Sonar 3.1开始,它包含一个插件,该插件具有针对单元测试执行的特定PMD规则(为此创建了JIRA).你可以在里面看到它们Configuration > Quality Profiles > Coding Rules.
但是,您似乎希望对测试源代码运行完整分析,就像对生产源代码一样,并获得其他指标(例如,a % rules compliance和a % rules compliance for unit tests).我不认为Sonar本身提供这样的功能.您可以做的是运行2个声纳分析:
src/test/java" 生产 "源代码.因此,第二次分析将为您提供代码的质量.对于此分析,您可以指定pom.xml将更改项目信息的特定Maven配置文件(或替代方案)(例如,它将指示这src/test/java是默认设置sourceDirectory).小智 5
我还注意到 SonarQube 默认会忽略质量分析的测试资源。使用 schnatterers answer,我找到了一种简单的方法来创建一个单独的项目,该项目仅包含测试类作为 SonarQube 中的源,从而触发对它们的质量分析。在我想分析的项目的 POM 中,我添加了一个配置文件,它相应地更改了声纳属性:
<profiles>
<profile>
<id>analyze-test-classes</id>
<properties>
<sonar.sources>src/test/java</sonar.sources>
<sonar.tests></sonar.tests>
<sonar.projectName>${project.name}-tests</sonar.projectName>
<sonar.projectKey>${project.groupId}:${project.artifactId}-tests</sonar.projectKey>
</properties>
</profile>
</profiles>
Run Code Online (Sandbox Code Playgroud)
运行 Maven
mvn sonar:sonar -Panalyze-test-classes
Run Code Online (Sandbox Code Playgroud)
然后将激活此配置文件并在 SonarQube 中创建一个带有后缀 -tests 的附加项目,该项目仅包含测试类的分析。
| 归档时间: |
|
| 查看次数: |
7973 次 |
| 最近记录: |