#java #logging #junit #hook
#java — язык #ведение журнала #юнит #крюк #java #junit #перехват
Вопрос:
Мы используем junit для интеграционных тестов. Тесты выполняются в Eclipse и Jenkins.
Теперь я хотел бы зарегистрировать все результаты тестового запуска junit в базе данных для упрощения отчетности (я хочу зарегистрировать имя тестового класса / метода, среду, продолжительность и успех). Я думал о разборе xml-файлов результатов junit, но для меня тоже неплохо записывать их непосредственно в базу данных. Это звучит навязчиво, но также довольно элегантно.
Обычно мы просто комментируем метод тестирования аннотацией @Test и вуаля, у нас есть наш метод тестирования junit.
Это означает, что у нас нет дополнительной инфраструктуры вокруг junit, и я хочу сохранить ее такой. Боюсь, это означает, что если я захочу реализовать такой тип ведения журнала, мне, вероятно, придется взломать junit.
Кто-нибудь делал это и может дать совет, если это работает хорошо? Может быть, у вас есть идея о том, как / где разместить перехват в junit. Или есть более простые подходы к моей проблеме?
Спасибо!
редактировать: Чтобы уточнить, у нас уже есть результаты тестирования junit для одиночных тестовых запусков. Вы можете получить их из eclipse (экспортировать результат junit) или из jenkins. Запуск наших наборов тестов junit в Jenkins также позволяет нам отслеживать частоту сбоев наборов тестов с течением времени. Он показывает вам красивую диаграмму, которая отслеживает, сколько тестов прошло за прошедшее время. В каждой сборке jenkins вы можете видеть, какие тесты прошли, также в сравнении с последним запуском. Нам нужно немного больше. Мы хотим иметь возможность анализировать производительность (продолжительность) определенных тестовых наборов с течением времени, в течение нескольких запусков, возможно, также то, как они ведут себя по-разному в разных средах. Извлеките тенденции. Выполните некоторый интеллектуальный анализ данных.
Комментарии:
1. Вы хотите вести учет истории вашего модульного тестирования. ? Ваш вопрос вообще не имеет смысла. Почти все серверы CI, включая Hudson (Дженкинс), имеют функцию публикации Junit, которая предоставляет очень хороший отчет о тестировании.
2. я обновил свой вопрос по этому поводу.
Ответ №1:
Я не уверен, что это полезно для вас, но вы можете выполнять различные типы перенаправлений выходных данных тестов JUnit и даже указывать формат для отчетов о тестировании, которые вы могли бы, в свою очередь, сохранить в базе данных, чтобы иметь возможность получать доступ и поддерживать с течением времени для дальнейшего анализа или даже статистических целей.
Руководство с объяснением того, как этого можно достичь, предлагающее отчеты в формате HTML, можно найти здесь: http://www.skill-guru.com/blog/2010/03/26/generating-junit-test-results-as-html-report /
Я надеюсь, что это поможет.