While some TestRule
classes have the desired effect without ever being directly referenced by a test, several others do not, and
there's no reason to leave them cluttering up the file if they're not in use.
This rule raises an issue when Test
class fields of the following types aren't used by any of the test methods:
TemporaryFolder
, and TestName
.
This rule also applies to the JUnit 5 equivalent classes: TempDir
, and TestInfo
.
public class ProjectDefinitionTest { @Rule public TemporaryFolder temp = new TemporaryFolder(); // Noncompliant @Test public void shouldSetKey() { ProjectDefinition def = ProjectDefinition.create(); def.setKey("mykey"); assertThat(def.getKey(), is("mykey")); } }
public class ProjectDefinitionTest { @Test public void shouldSetKey() { ProjectDefinition def = ProjectDefinition.create(); def.setKey("mykey"); assertThat(def.getKey(), is("mykey")); } }