Sonarqube 自定义Java规则单元测试失败
我正在尝试为sonarqube编写一个自定义java规则,用于检查某些注释。 我认为我的单元测试失败了,因为导入无法解决 这是我的支票:Sonarqube 自定义Java规则单元测试失败,sonarqube,Sonarqube,我正在尝试为sonarqube编写一个自定义java规则,用于检查某些注释。 我认为我的单元测试失败了,因为导入无法解决 这是我的支票: public class ServiceBeanCheck extends IssuableSubscriptionVisitor { private static final String STATELESS_ANNOTATION = "javax.ejb.Stateless"; private static final Str
public class ServiceBeanCheck extends IssuableSubscriptionVisitor {
private static final String STATELESS_ANNOTATION = "javax.ejb.Stateless";
private static final String REMOTE_ANNOTATION = "javax.ejb.Remote";
@Override
public List<Kind> nodesToVisit() {
return ImmutableList.of(Kind.CLASS);
}
@Override
public void visitNode(Tree tree) {
if (!hasSemantic()) {
return;
}
ClassTree classTree = (ClassTree) tree;
SymbolMetadata classSymbolMetadata = classTree.symbol().metadata();
if (!classSymbolMetadata.isAnnotatedWith(STATELESS_ANNOTATION)) {
reportIssue(tree, "Stateless-Annotation is missing");
}
if (!classSymbolMetadata.isAnnotatedWith(REMOTE_ANNOTATION)) {
reportIssue(tree, "Remote-Annotation is missing");
}
}
测试结果如下:
java.lang.AssertionError:在[9,12]处预期,在[4,4,8,8,11,11,14,14]处意外
在我的pom.xml中,我为注释远程和无状态添加了unittest的依赖项:
<!-- only required to run UT - these are UT dependencies -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.10</version>
<executions>
<execution>
<id>copy</id>
<phase>test-compile</phase>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>org.apache.commons</groupId>
<artifactId>commons-collections4</artifactId>
<version>4.0</version>
<type>jar</type>
</artifactItem>
<artifactItem>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>7.0</version>
<type>jar</type>
</artifactItem>
</artifactItems>
<outputDirectory>${project.build.directory}/test-jars</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
org.apache.maven.plugins
maven依赖插件
2.10
复制
测试编译
复制
org.apache.commons
公共集合4
4
罐子
爪哇
JavaEEAPI
7
罐子
${project.build.directory}/test jars
<!-- only required to run UT - these are UT dependencies -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.10</version>
<executions>
<execution>
<id>copy</id>
<phase>test-compile</phase>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>org.apache.commons</groupId>
<artifactId>commons-collections4</artifactId>
<version>4.0</version>
<type>jar</type>
</artifactItem>
<artifactItem>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>7.0</version>
<type>jar</type>
</artifactItem>
</artifactItems>
<outputDirectory>${project.build.directory}/test-jars</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>