2014-10-24 1 views
-1

. 각 테스트 케이스 (테스트 클래스)에는 동일한 @Rule @BeforeTest @AfterTest가 있습니다.있는 TestSuite의 JUnit -> 각각의 TestCase는이 같은 @Before 등 난 그냥 JUnit을 가진 솜 셀레늄 WebDriver 테스트 4.</p> <p>테스트 케이스는 JUnit을있는 TestSuite에 의해 그룹화를 쓰고 있어요

JUnit TestSuite에서 이것을 어떻게 실현할 수 있습니까? @Rule, @BeforeTest 및 @AfterTest에 각각 동일한 코드가 없도록하려면 어떻게해야합니까? 테스트 케이스 (클래스)?

// 편집 : 어쩌면 내가 각 테스트 케이스에서 확장 한 추상 테스트 케이스 클래스를 정의 할 수 있을까요?

답변

0

@Rule, @BeforeTest 및 @AfterTest의 코드를 단일 규칙으로 병합 할 수 있습니다.

public class TheMergedRule implements TestRule { 
    private final TestRule theCurrentRule = ... 

    public Statement apply(final Statement base, final Description description) { 
    return new Statement() { 
     theCodeOfBefore(); 
     theCurrentRule.apply(base, description); 
     theCodeOfAfter(); 
    } 
    } 

    public void theCodeOfBefore() { 
    ... 
    } 

    public void theCodeOfAfter() { 
    ... 
    } 
} 
관련 문제