Overriding a parent class method prevents that method from being called unless an explicit super
call is made in the overriding
method. In some cases not calling the super
method is acceptable, but not with setUp
and tearDown
in a JUnit 3
TestCase
.
public class MyClassTest extends MyAbstractTestCase { private MyClass myClass; @Override protected void setUp() throws Exception { // Noncompliant myClass = new MyClass(); }
public class MyClassTest extends MyAbstractTestCase { private MyClass myClass; @Override protected void setUp() throws Exception { super.setUp(); myClass = new MyClass(); }