Для тестирования мы используем kaocha − комплексный инструмент для запуска тестов.
Почему нам нравится kaocha?Потому что это очень гибкий инструмент, простой в настройке и понятный в плане разработки. Одна из сильных сторон − расширяемость. Даже если нам не хватает какого-то функционала, то всегда можно написать новый плагин или репортер. Наш продукт постоянно развивается, обрастает функционалом, а значит − увеличивается и количество тестов.
Что пошло не так?В какой-то момент мы столкнулись с
проблемой отображения результатов тестирования − вывод стал крайне громоздким и скроллинг страницы соответствующего этапа в Drone-CI превратился в настоящий квест.
Все дело в одном из компонентов kaocha − репортере. Репортер отвечает за то, какие действия нужно произвести с выводом тестов.
До определенного момента мы использовали
встроенный репортер, который покрывает все базовые потребности при отображении вывода тестов. Он основывается на печати результатов в стандартный поток вывода, который перехватывается системой сборки для отображения на веб-странице тестового стейджа. С увеличением количества тестов вывод начинает «подвешивать» веб-страницу. Это и делает просмотр тестов практически невозможным.
Согласитесь, не очень-то приятно видеть нечто вроде: