2012-03-22 5 views
1

특정 매개 변수 세트가 주어지면 단일 매개 변수에 대해 테스트 세트를 중지 할 수 있습니다.JUnit에서 매개 변수화 된 테스트 스위트 중지

@RunWith(Parameterized.class) 
public class Test{ 
    public Test(String a, String b){ 
     if(!a.equals(b)){ 
      // Stop do not run tests 
     } // else go on run tests 
    } 
} 
@Parameters 
public static Collection<Object[]> getParams(){ 
    return Array.asList(new Object[][]{ {"aa","aa"},{"aa","bb"} }; 
} 
@Test 
public void test1(){ assertTrue(false); } 

위의 코드를 테스트하지 않았습니까? 생성자는 실제로 리소스를 얻으려고하고 리소스를 얻을 수 없으면 테스트를 시도하지 않으려 고합니다.

당신은 getParams() 방법으로 논리를 이동할 수 있습니다 당신에게

답변

2

감사, 그래서 당신이 "이득 자원", 당신은 단순히 빈 매개 변수의 수집, 그래서 실행 아무것도를 반환 할 수없는 경우.

+0

이것은 받아 들일 수는 있지만 확장 클래스가 getParams() 메소드를 넘어서기 어렵게 만듭니다. – Platipuss

+0

이 논리를 항상 외부 도우미 클래스로 옮길 수는 있지만 원래 질문의 범위를 벗어납니다. –

+0

상위 Parent.setUpBlah()에 도우미 메서드를 제공하여 getParams() 메서드를 처음부터 끝내려는 노력을 최소화 할 수 있지만 이러한 메서드를 확장 클래스에 노출하고 싶지는 않습니다. 그러나 나의 초기 질문은 주어진 매개 변수에 대한 일련의 테스트를 중지하거나 취소하는 방법이 있는지 확인하는 것이 었습니다. 나는 당신의 의견을 고맙게 생각합니다. – Platipuss

관련 문제