sonarcloude 中 97.9% 的代码覆盖率和错误未被测试涵盖 Spring 项目主应用程序
97.9 % Code coverage in sonarcloude and error is not covered by test Spring Project Main Application
我在 sonarcloude 中获得了 97.9% 的代码覆盖率,我想让它达到 100%。错误显示我的 SpringProjectMainApplication.java 不在测试范围内。
主要Class是:
**@SpringBootApplication
public class SpringProjectMainApplication {
@Generated(value = { "" })
public static void main(String... args) {
SpringApplication.run(SpringProjectMainApplication.class, args);
}
}**
测试class是
**@SpringBootTest
public class SpringProjectApplicationTests {
@Test
public void contextLoads() {
}
}**
Sonarcloude 错误是:
Sonarcloude
Sonarcloude error
我的 Pom 文件具有以下配置:
</sonar.sources>
<sonar.issue.ignore.multicriteria>e11, e12</sonar.issue.ignore.multicriteria>
<!-- Disable rule for "Add at least one assertion for the contextLoads
test case" -->
<sonar.issue.ignore.multicriteria.e11.ruleKey>squid:S2699</sonar.issue.ignore.multicriteria.e11.ruleKey>
<sonar.issue.ignore.multicriteria.e11.resourceKey>**/SpringProjectApplicationTests.java</sonar.issue.ignore.multicriteria.e11.resourceKey>
<!-- Disable rule for if cases in methods equals -->
<sonar.issue.ignore.multicriteria.e12.ruleKey>squid:S3776</sonar.issue.ignore.multicriteria.e12.ruleKey>
<sonar.issue.ignore.multicriteria.e12.resourceKey>**/model/**</sonar.issue.ignore.multicriteria.e12.resourceKey>
<sonar.issue.ignore.multicriteria.e13.resourceKey>**/SpringProjectApplicationTests.java</sonar.issue.ignore.multicriteria.e13.resourceKey>
<sonar.issue.ignore.multicriteria.e13.resourceKey>**/SpringProjectMainApplication.java</sonar.issue.ignore.multicriteria.e13.resourceKey>
<skip.unit-tests>false</skip.unit-tests>
<skipITs>false</skipITs>
</properties>
<groupId>org.sonarsource.scanner.maven</groupId>
<artifactId>sonar-maven-plugin</artifactId>
<version>3.6.0.1398</version>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.4</version>
<configuration>
<excludes>
<exclude>**/model/**</exclude>
<exclude>**/SpringProjectApplication.*</exclude>
<exclude>**/config/**</exclude>
<exclude>
**/src/it/java/SpringProjectApplicationTests.java
</exclude>
</excludes>
</configuration>
<executions>
<execution>
<goals>
<!-- binds by default to the phase "initialize" -->
<goal>prepare-agent</goal>
<!-- binds by default to the phase "verify" -->
<goal>report</goal>
您的配置似乎有错字。它应该是 'SpringProjectMainApplication' 而不是 'SpringProjectApplication'.
<excludes>
....
<exclude>**/SpringProjectMainApplication.class</exclude>
....
</excludes>
我在 sonarcloude 中获得了 97.9% 的代码覆盖率,我想让它达到 100%。错误显示我的 SpringProjectMainApplication.java 不在测试范围内。
主要Class是:
**@SpringBootApplication
public class SpringProjectMainApplication {
@Generated(value = { "" })
public static void main(String... args) {
SpringApplication.run(SpringProjectMainApplication.class, args);
}
}**
测试class是
**@SpringBootTest
public class SpringProjectApplicationTests {
@Test
public void contextLoads() {
}
}**
Sonarcloude 错误是:
Sonarcloude Sonarcloude error
我的 Pom 文件具有以下配置:
</sonar.sources>
<sonar.issue.ignore.multicriteria>e11, e12</sonar.issue.ignore.multicriteria>
<!-- Disable rule for "Add at least one assertion for the contextLoads
test case" -->
<sonar.issue.ignore.multicriteria.e11.ruleKey>squid:S2699</sonar.issue.ignore.multicriteria.e11.ruleKey>
<sonar.issue.ignore.multicriteria.e11.resourceKey>**/SpringProjectApplicationTests.java</sonar.issue.ignore.multicriteria.e11.resourceKey>
<!-- Disable rule for if cases in methods equals -->
<sonar.issue.ignore.multicriteria.e12.ruleKey>squid:S3776</sonar.issue.ignore.multicriteria.e12.ruleKey>
<sonar.issue.ignore.multicriteria.e12.resourceKey>**/model/**</sonar.issue.ignore.multicriteria.e12.resourceKey>
<sonar.issue.ignore.multicriteria.e13.resourceKey>**/SpringProjectApplicationTests.java</sonar.issue.ignore.multicriteria.e13.resourceKey>
<sonar.issue.ignore.multicriteria.e13.resourceKey>**/SpringProjectMainApplication.java</sonar.issue.ignore.multicriteria.e13.resourceKey>
<skip.unit-tests>false</skip.unit-tests>
<skipITs>false</skipITs>
</properties>
<groupId>org.sonarsource.scanner.maven</groupId>
<artifactId>sonar-maven-plugin</artifactId>
<version>3.6.0.1398</version>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.4</version>
<configuration>
<excludes>
<exclude>**/model/**</exclude>
<exclude>**/SpringProjectApplication.*</exclude>
<exclude>**/config/**</exclude>
<exclude>
**/src/it/java/SpringProjectApplicationTests.java
</exclude>
</excludes>
</configuration>
<executions>
<execution>
<goals>
<!-- binds by default to the phase "initialize" -->
<goal>prepare-agent</goal>
<!-- binds by default to the phase "verify" -->
<goal>report</goal>
您的配置似乎有错字。它应该是 'SpringProjectMainApplication' 而不是 'SpringProjectApplication'.
<excludes>
....
<exclude>**/SpringProjectMainApplication.class</exclude>
....
</excludes>