Inspectopedia Help

Test annotation without '@Retention(RUNTIME)' annotation

Reports annotations with a SOURCE or CLASS retention policy that are supposed to be used by JUnit 5. Such annotations are not available at runtime and most probably their retention policy should be fixed to be accessible through reflection.

Note that if the retention policy is not specified, then the default retention policy CLASS is used.

Example:

@Testable public @interface UnitTest {}

After the quick-fix is applied:

@Retention(RetentionPolicy.RUNTIME) @Testable public @interface UnitTest {}

Inspection Details

Available in:

IntelliJ IDEA 2023.3, Qodana for JVM 2023.3

Plugin:

Java, 233.SNAPSHOT

Last modified: 13 July 2023