Reports JUnit test cases with initialization logic in their constructors. If a constructor fails, the @After annotated or tearDown() method won't be called. This can leave the test environment partially initialized, which can adversely affect other tests. Instead, initialization of JUnit test cases should be done in a setUp() or @Before annotated method.

Bad example:


  public class ImportantTest {
    private File file;
    public ImportantTest() throws IOException {
      file = File.createTempFile("xyz", ".tmp");
    }

    // ... tests go here
  }