2016-07-21 6 views
1

테스트 클래스 (junit 테스트)에서 반영한 jar 파일이 있습니다.동적으로 생성 된 테스트 스위트에서 오류가 수집되지 않습니다.

나는 TestSuite 인스턴스를 생성하고 거기에 테스트를 추가했다.

내 코드를 검사하기 위해 하나의 예제 테스트 클래스 만 테스트에 추가하려고했습니다.

TestSuite suite = new TestSuite(); 
suite.addTest(new JUnit4TestAdapter(ExampleTest.class)); 

은 그럼 테스트를 실행하기 위해 suite.run를()가 호출 :

TestResult result = new TestResult(); 
suite.run(result); 

문제는 시험이 완료되면, 그 결과에 있어야 실패 목록이 비어 있다는 것입니다.

Enumeration<TestFailure> failures = result.failures(); // = empty list 

testSuite를 사용하여 어떻게 문제를 해결할 수 있습니까? JUnitCore.runclasses를 사용하면 실패 목록을 얻지 만 테스트 클래스를 입력으로 사용하기 때문에 TestSuite 인스턴스와 함께 사용할 수 없습니다.

편집-1 :

이있는 TestSuite를 확장하는 클래스를 만들고 동적 제품군에 클래스를 추가 할 수 있다면, 그것은 내 요구에 좋을 것이다.
제안 사항이 우수 할 것입니다.

편집-2 : 웹에서 더 검색에서

, 나는 거기에 우리에게 failuretestFailure 사이의 차이를 보았다. testFailure로 테스트를 실패하면 어떻게 실패합니까?

답변

0

더 많은 디버깅 후 TestResult 객체가 오류를 잡았지만 오류 (어설 션 오류)로보고되었음을 알게되었습니다.
또한 TestResult.errors()가 TestFailure의 열거자를 반환한다는 것을 알게되었습니다. 각 TestFailure에는 던진 예외에 대한 정보가 포함되어 있으므로 어설 션 오류와 그렇지 않은 오류를 확인하여 오류와 오류를 구별 할 수 있습니다.