2011-03-16 7 views
1

여기 제가 직면 한 문제가 있습니다. 나는 부정적인 테스트를 통해 소프트웨어 조각에 대한 쿼리 구문 분석 엔진을 테스트하는 임무를 맡았습니다. 즉, 실패 할 많은 수의 쿼리를 작성하고 실제로 실패했는지 테스트해야하며 쿼리의 특정 오류에 대해 예상되는 오류 메시지가 있어야합니다. XML 파일에 정의되어 있습니다. 필자는 XML 문서의 구문 분석과 이러한 테스트 케이스를위한 struct-like 클래스에 대한 간단한 래퍼를 작성했습니다.JUnit 동적 메소드 발송?

이제는 JUnit을 테스트 프레임 워크로 사용하고 있으므로이 모든 문제를 다루고 있습니다. 이러한 외부 적으로 정의 된 테스트를 모두 실행하는 방법은 하나의 방법으로 이루어집니다. 단일 테스트가 실패하면 더 이상 실행되지 않습니다. 각 테스트를 처리 할 메소드를 동적으로 디스패치 할 수있는 방법이 있습니까? 이렇게하면 테스트가 실패하면 나머지 테스트를 계속 실행하면서 실패했는지 실패했는지에 대한 보고서를 얻을 수 있습니다.

다른 대안은 물론 모든 JUnit 테스트를 작성하는 것입니다. 여러 가지 이유로이 문제를 피하고 싶습니다. 그 중 하나는 실행할 테스트 수가 매우 많고 테스트 사례가 99 %의 상용구 코드입니다.

감사합니다.

+0

생성 코드;) hehe – ThomasRS

답변

1

JUnit의 매개 변수화 된 주석을 조사해야합니다.

+0

내가 오해하지 않는 한, 나는 여전히 모든 단일 테스트를위한 방법을 써야합니다. 그렇지 않은가요? – rybosome

+0

내 게시물이 너무 성급했습니다 - 나는 Paramaterized를 오해했습니다. 나는 이것이 내가하려고하는 것을 성취 할 수 있다고 생각한다. 도와 주셔서 감사합니다! – rybosome

0

올바르게 이해하면 입력 데이터와 예상 결과가 모두 XML로 정의되므로 각 테스트 케이스를 처리하는 데 특정 코드가 필요하지 않습니까?

JUnit4를 사용하는 경우에는 고유 한 Runner 구현을 작성할 수 있습니다. Runner를 직접 구현하거나 ParentRunner를 확장 할 수 있습니다. 구현할 필요가있는 것은 테스트에 대한 설명을 반환하는 하나의 메서드와 테스트를 실행하는 또 다른 메서드입니다.

관련 문제