2009-07-26 7 views
1

일식을 처음 사용했습니다. 나는 JUnit 4를 사용하고있다. 그리고 나는 초기화가 일어난 Testcase를 확장 한 클래스의 메소드를 작성했다. 같은 클래스에 몇 가지 테스트 케이스가 있습니다. 압축 된 형태의 테스트 데이터가 있고 작업 공간에 연결되어 있습니다. 현재 하나의 테스트 데이터에 대해 모든 테스트 케이스를 실행할 수 있습니다. 어떻게 든 컨트롤을 두 번째 테스트 데이터를 가져와 모든 테스트 케이스를 실행하도록 다시 설정()하려고합니다. 가능합니까? 그렇다면 누군가가 코드 스 니펫을 보내 줄 수 있습니까? 사전에동일한 테스트 케이스 세트에서 여러 테스트 데이터 실행

감사하지만 답장을

덕분 곳에는 보관 방법을 설정해야하는지 여부를 내가 같은 코드를 유지해야하며, 설정에서 어떻게 테스트 데이터를 이동합니다?

+0

아래보다 더 명확하고 명확한 답변을 제공 할 수 있다고 생각하지 않습니다. 당신이 이해하지 못하는 것이 확실하지 않습니다. 아마도 당신이 시험을 게시하면 우리가 더 도울 수 있습니다. – hobodave

답변

1

매개 변수화 된 러너를 사용해야합니다. 여러 테스트 데이터로 동일한 테스트를 실행할 수 있습니다. 예 : 다음은 "number"매개 변수가 배열의 값으로 변경 될 때마다 테스트가 네 번 실행됨을 의미합니다.

@RunWith(value = Parameterized.class) 
public class StackTest { 
Stack<Integer> stack; 
private int number; 

public StackTest(int number) { 
    this.number = number; 
} 

@Parameters 
public static Collection data() { 
    Object[][] data = new Object[][] { { 1 }, { 2 }, { 3 }, { 4 } }; 
    return Arrays.asList(data); 
} 
... 
} 

편집 명확하지 않다,하지만 난 명확히하려고 할 것입니다 무엇을

확실하지.

@RunWith (value = Parameterized.class) 주석이 필요합니다. Collection 객체를 반환하는 @Parameters로 주석 된 메소드가 있어야하며, 각 요소는 테스트에 사용되는 다양한 매개 변수의 배열이어야합니다. 이러한 매개 변수를 허용 할 공용 생성자가 있어야합니다.

추가 정보 및 다른 예는 documentation에서 찾을 수 있습니다.

심지어 examples.

+0

감사합니다.하지만 Setup() 메서드 아래에이 코드를 쓸 위치는 어디입니까? 그렇다면 통제의 흐름은 무엇입니까? –

+0

시험 수업을 게시 할 수 있습니까? – hobodave

관련 문제