Inspectopedia Help

Parameterized test class without data provider method

Reports JUnit 4 parameterized test classes that are annotated with @RunWith(Parameterized.class) but either do not include a data provider method annotated with @Parameterized.Parameters or this method has an incorrect signature. Such test classes cannot be run. The data provider method should be public and static and have a return type of Iterable or Object[].

Suggests creating an empty parameter provider method or changing the signature of the incorrect data provider method.

Example:

@RunWith(Parameterized.class) public class ImportantTest { private int input; private int expected; ImportantTest(int input, int expected) { this.input = input; this.expected = expected; } // ... test cases }

After the quick-fix is applied:

@RunWith(Parameterized.class) public class ImportantTest { private int input; private int expected; ImportantTest(int input, int expected) { this.input = input; this.expected = expected; } @Parameters public static Iterable<Object[]> parameters() { return null; } // ... test cases }

Locating this inspection

By ID

Can be used to locate inspection in e.g. Qodana configuration files, where you can quickly enable or disable it, or adjust its settings.

ParameterizedParametersStaticCollection
Via Settings dialog

Path to the inspection settings via IntelliJ Platform IDE Settings dialog, when you need to adjust inspection settings directly from your IDE.

Settings or Preferences | Editor | Inspections | JUnit

Availability

By default bundled with

IntelliJ IDEA 2024.1, Qodana for JVM 2024.1,

Can be installed with plugin

JUnit, 241.18072

Last modified: 18 June 2024