Эй, я использую SpringJUnit4ClassRunner и запускаю большие комплекты тестов с использованием интерфейса eclipse. Когда тесты терпят неудачу, я вижу исключения и полную трассировку стека в представлении junit. Я бы хотел, чтобы они также были зарегистрированы.
(Использование log4j, завернутое apache.commons.logging)Как сделать JUnit4 зарегистрировать все неиспользуемые исключения?
2
A
ответ
2
Продлить SpringJUnit4ClassRunner:
public class MySpringJUnit4ClassRunner extends SpringJUnit4ClassRunner{
@Override
public void run(RunNotifier notifier) {
EachTestNotifier testNotifier= new EachTestNotifier(notifier,
getDescription());
try {
Statement statement= classBlock(notifier);
statement.evaluate();
} catch (AssumptionViolatedException e) {
testNotifier.fireTestIgnored();
Logger.error(e);
} catch (StoppedByUserException e) {
Logger.error(e);
throw e;
} catch (Throwable e) {
testNotifier.addFailure(e);
Logger.error(e);
}
}
//...
}
Затем используйте MySpringJUnit4ClassRunner в качестве бегуна.
0
Если вы используете maven для сборки, он поставляется в комплекте с надежным плагином для плагинов, который предоставляет подробный отчет о тестовых примерах. В eclipse вы можете запустить консоль приложений. Я считаю, что это в runconfig приложения. Хотя я не знаю точных деталей.
0
если добавить log4j в ваш проект, вы можете войти исключения с:
инициализации регистратор в вашем TestClass:
private static final Logger logger = Logger.getLogger(YourClassNameclass);
сюда код, чтобы войти в сообщение:
try{
your code here...
} catch (SomeException e){
logger.error("Description of your error", e);
}
и здесь шаблон в log4j.properties для регистрации сообщений в файле:
log4j.rootLogger=ALL,A1
log4j.appender.A1=org.apache.log4j.FileAppender
log4j.appender.A1.File=Testlogfile.log
log4j.appender.A1.append=false
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=\
%-4r [%t] %-5p %c %x -%m%n
удачи! :)
Согласен. JUnit не предоставляет лог-модуль, вы должны сами написать код журнала. –