Мой TestSuite работает во время сборки с использованием цели ant.
Я хотел бы в своем наборе получить доступ к TestResult и выполнить некоторые действия, если тесты пройдут успешно или нет.
Есть ли способ получить объект в методе tear down?
Спасибо
1 ответ
С jUnit3 я бы попробовал создать подкласс Test
и перезаписать метод run
. Это предоставит мне доступ к экземпляру TestResult
. Что-то вроде этого:
public class MyTest extends Test {
@Overwrite
public void run(TestResult result) {
super.run(result);
doSomethingWithResults(result);
}
// ...
}
С jUnit4 я бы рассмотрел возможность реализации TestRunner (на основе стандартного бегуна). Звучит сложно, но на самом деле это не так. Создайте подкласс по умолчанию и просто добавьте аннотацию @RunWith
, чтобы использовать свой собственный бегун (который может что-то делать с результатами)
@RunWith
в моем наборе или в тестовых классах?
BlockJUnit4ClassRunner
, затем перезапишите [run
] (junit.sourceforge.net/javadoc/org/junit/runners/…. Я думаю, вам также нужно написать custum RunNotifier
, который обертывает тот, который вы получаете и позволяет перехватывать уведомления о сбоях.На ваш вопрос: нет, никогда не делал, но похоже, что нужно.
RunListener
и добавил его в RunNotifier
, в который я попадаю run
. Спасибо за помощь!
Похожие вопросы
Новые вопросы
java
Java — это высокоуровневый объектно-ориентированный язык программирования. Используйте этот тег, если у вас возникли проблемы с использованием или пониманием самого языка. Этот тег часто используется вместе с другими тегами для библиотек и/или фреймворков, используемых разработчиками Java.