다른 구현 자에 의해 구현 될 인터페이스 MyInterface
을 작성했습니다.일반 JUnit 테스트 클래스
또한 모든 구현자가 구현을 테스트하는 데 사용할 수 있어야하는 일반 테스트 메서드가 포함 된 MyInterfaceTest
클래스를 작성했습니다.
JUnit 테스트로 작동시키는 법을 모르겠습니다.
현재,이 같은있다 : 각 구현의 초기화 시간이 많이 걸리기 때문에
public class MyInterfaceTest {
private static MyInterface theImplementationToTest = null;
@BeforeClass public static void setUpBeforeClass() throws Exception {
// put your implementation here:
theImplementationToTest = new Implementation(...);
}
@AfterClass public static void tearDownAfterClass() throws Exception {
theImplementationToTest = null;
}
@Test public void test1() { /* uses theImplementationToTest */ }
@Test public void test2() { /* uses theImplementationToTest */ }
}
내가 정적 메서드
setUpBeforeClass
를 사용합니다, 그래서 모든 시험에 한 번 초기화합니다.
이 버전의 테스트에서는 구현자가 setUpBeforeClass
코드를 변경하고 자체 구현을해야합니다.
MyInterfaceTest
을 작성하는 다른 방법이 있으므로 구현 자들이 상속하거나 매개 변수를 보내고 코드를 변경하면 안됩니다. 그러나 JUnit에서 충분히 경험할 수있는 것은 아닙니다. 이 방법을 보여 주시겠습니까?
어떻게 원래 문제를 해결할 수 있습니까? –
원래 문제는 무엇입니까? –
서브 클래스에 따라 구현이 다른 정적 설정/분해 (teardown)를 재사용하는 방법. 내 대답에 설명 된대로. –