Отчетность является наиболее важной частью любого выполнения теста, поскольку она помогает пользователю понять результат выполнения теста, точку сбоя и причины сбоя. Ведение журнала, с другой стороны, важно для отслеживания потока выполнения или для отладки в случае каких-либо сбоев.
TestNG по умолчанию создает отчет другого типа для выполнения теста. Это включает вывод в формате HTML и XML. TestNG также позволяет своим пользователям писать свой собственный репортер и использовать его вместе с TestNG. Существует также возможность написать свои собственные регистраторы, которые уведомляются во время выполнения TestNG.
Существует два способа создания отчета с TestNG —
-
Слушатели. Для реализации класса слушателя класс должен реализовать интерфейс org.testng.ITestListener . Эти классы уведомляются TestNG во время выполнения, когда тест начинается, заканчивается, заканчивается неудачей, пропускается или проходит.
-
Репортеры. Для реализации класса отчетности класс должен реализовывать интерфейс org.testng.IReporter . Эти классы вызываются, когда заканчивается весь набор. Объект, содержащий информацию всего теста, передается в этот класс при вызове.
Слушатели. Для реализации класса слушателя класс должен реализовать интерфейс org.testng.ITestListener . Эти классы уведомляются TestNG во время выполнения, когда тест начинается, заканчивается, заканчивается неудачей, пропускается или проходит.
Репортеры. Для реализации класса отчетности класс должен реализовывать интерфейс org.testng.IReporter . Эти классы вызываются, когда заканчивается весь набор. Объект, содержащий информацию всего теста, передается в этот класс при вызове.
В этой главе у нас будет четыре разных примера, чтобы продемонстрировать четыре разных случая отчетности и ведения журнала.
Этот пример иллюстрирует, как написать свой собственный регистратор.
Этот пример иллюстрирует, как написать свой собственный репортер.
Этот пример иллюстрирует отчет HTML и XML по умолчанию, сгенерированный TestNG.
В этом примере показано, как создавать отчеты JUnit из отчетов TestNG.