
resources.report.rules.pmd.JUnitStaticSuite.html Maven / Gradle / Ivy
JUnitStaticSuite
JUnitStaticSuite
The suite() method in a JUnit test needs to be both public and static.
This rule is defined by the following XPath expression:
//MethodDeclaration[not(@Static='true') or not(@Public='true')]
[MethodDeclarator/@Image='suite']
[MethodDeclarator/FormalParameters/@ParameterCount=0]
[ancestor::ClassOrInterfaceDeclaration[//ClassOrInterfaceType[typeof(@Image, 'junit.framework.TestCase','TestCase')] or //MarkerAnnotation/Name[typeof(@Image, 'org.junit.Test', 'Test')]]]
Example:
import junit.framework.*;
public class Foo extends TestCase {
public void suite() {} // oops, should be static
private static void suite() {} // oops, should be public
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy