상위 클래스 메서드를 오버라이딩하면 오버라이딩된 메서드에서 명시적인 super 호출이 수행되지 않는 한 해당 메서드가 호출되지 않습니다.
경우에 따라 super 함수를 호출하지 않는 것이 허용되지만 JUnit3
의 setUp
과 tearDown
함수에서 호출하지 않는 것은 허용되지 않습니다.
규칙을 어긴 코드
public class MyClassTest extends MyAbstractTestCase {
private MyClass myClass;
@Override
protected void setUp() throws Exception { // 규칙을 어긴 코드
myClass = new MyClass();
}
}
규칙을 준수한 해결책
public class MyClassTest extends MyAbstractTestCase {
private MyClass myClass;
@Override
protected void setUp() throws Exception {
super.setUp(); // 규칙을 준수한 해결책
myClass = new MyClass();
}
}
If you like SONARKUBE, don’t forget to give me a star.