2016-07-21 10 views
1

У меня есть файл jar, который я отразил от него тестовыми классами (junit test).Неудачи не собираются в динамически созданных наборах тестов

Я создал экземпляр 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, который я должен использовать, так как я получаю тестовые классы как входные данные.

Edit-1:

Если можно создать класс, который расширяет TestSuite и добавлять классы к набору динамически, это будет хорошо для моих потребностей в.
Любое предложение будет замечательным.

Edit-2:

С больше поиска в Интернете, я увидел там нам разницу между failure и testFailure. Как я могу пропустить тест с testFailure, а не сбой?

ответ

0

После некоторой дополнительной отладки я узнал, что объект TestResult обнаружил ошибки, но сообщил о них как об ошибках (ошибки подтверждения).
Я также узнал, что TestResult.errors() возвратил перечислитель TestFailure. Каждый TestFailure содержит информацию о заброшенном исключении, поэтому теперь я могу различать ошибки и сбои, проверяя, какие из ошибок являются ошибками утверждения, а какие нет.

 Смежные вопросы

  • Нет связанных вопросов^_^