2011-10-11 2 views
2

알고 싶습니다. 예기치 않은 예외 (예 : 오류)를 처리하도록 TestNG를 설정할 수있는 방법이 있습니까?TestNG - 예기치 않은 예외로 인한 오류 발생

내 테스트에서 RuntimeException을 발생 시키려고 시도했지만 오류가 아닌 실패로 간주되었습니다. TestNG 문서에서는 성공 및 실패 상태에 대해서만 설명합니다. http://testng.org/doc/documentation-main.html#success-failure.

나는 당신의 도움을 http://www.querycat.com/question/d1c9a200f18e6829cb06dda8eda8ad61

감사합니다 주소에 첫 번째 질문에 JUnit을 유사 TestNG의 동작을하고 싶습니다.

답변

1

편집 : 이전에했던 것을 무시하십시오. 불행히도, 나는 당신의 질문에 대한 대답이 '아니오'라는 확신이 있습니다. TestNG에는이 기능이 없습니다. TestNG 문서의 전체 내용은 here입니다. 따라서 해당 페이지에 기능이 없으면 아마도 존재하지 않을 것입니다. TestNG는 JUnit에서 영감을 얻었지만 JUnit의 기능을 잘 모아서는 안됩니다. 테스트 스위트에서 예외적으로 실패하기를 원한다면 내가 생각할 수있는 유일한 것은 System.exit(1)으로 전화하는 것입니다.

+0

나는 이것과 함께 살 것이다. 아마도 JUnit 동작을 시뮬레이트 할 것이 있다면 TestNG 소스 코드를 살펴볼 것입니다. – Aries

+0

@Aries이 유형을보고하기를 원하면 testng이 생성하는 junit XML을 구문 분석하고 오류 유형이 AssertionError가 아닌 경우 오류를 실패로 변경할 수 있습니다. –

-1

잘못된 예외를 사용하고 있습니다. JUnit은 성공, 실패 (assertXXX에 의해 발생 된 AssertionException)와 오류 (예상되지 않은 다른 모든 예외)를 구별합니다.

메서드가 예외를 throw한다는 것을 알고 있으면 @Test (expected = MyExpectedException)를 사용하여 예외를 catch 할 수 있습니다.

+0

나는 아마도 나 자신을 분명히하지 않았다. 나는 예상되는 예외를 잡는 방법을 안다. 예기치 않은 예외로 인해 테스트 오류가 발생합니다. 그러나 그들은 시험 실패를 야기하고 있습니다. – Aries