이 추상 메서드를 이미 내 추상 클래스에서 사용하려면 추상 메서드를 정의하고 싶습니다. 그런 다음이 추상 메서드를 다른 클래스에서 정의하여 내 추상 클래스를 확장하고 싶습니다.다른 매개 변수로 추상 메소드를 대체 하시겠습니까?
하지만 어떻게해야합니까?
(목표는 모든 통합 테스트에 대해 동일한 "구조"를 사용하지만 일부 다른 로직을 구현하는 몇 가지 기본 방법을 제공하는 것입니다.)
추상 클래스의 매개 변수를 사용하여 추상 메소드를 정의하려면 어떻게해야합니까?이 추상 메소드는 이미 추상 클래스에 있지만, 테스트 구현시 먼저 구현해야합니다.
public abstract class BaseIT {
protected doVerify(String params..) {
if (isValid()) {
//basic verification for all extending testcases
}
}
protected abstract boolean isValid(Object o);
}
public class TestA_IT extends BaseIT{
@Test
public void myTest {
//do some specific stuff and verify with resulting params
doVerify(params..);
}
protected boolean isValid(Object o) {
return o.isValid();
}
}
이것은 내 문제에 대한 (바보 같은) 예입니다. 물론 isValid의 결과를 기본 클래스 메서드에 전달할 수는 있지만이 경우에는 내 특정 경우에 해당되지 않습니다.
문제는 다음과 같습니다. Object o
은 다른 테스트 케이스 구현을위한 다른 객체입니다.
인터페이스를 사용할 수 없습니다. 어떻게하면 가능합니까?
나는 명확하게 문제를 이해할 수 없다. 왜 당신은 추상적 인 방법을 대체 할 수 없습니까? – Thihara
개인적으로, 나는 당신이 이것을 복잡하게 생각한다고 생각합니다. 테스트를 간단하게하십시오. – duffymo
실제 사용 사례와 같지 않고 컴파일도되지 않는 (어리석은) 예제를 보여주는 대신 실제 사용 사례가 무엇이고 달성하고자하는 것이 무엇인지 설명하십시오. –