Это своего рода открытый вопрос / запрос (надеюсь, что это разрешено).
В моей команде мы используем тестирование API Каратэ для нашего проекта, который мы любим. Тесты просты в написании и достаточно понятны людям, не имеющим опыта программирования. Самая большая проблема, с которой мы сталкиваемся, заключается в том, что эти API-тесты имеют некоторую врожденную степень ненадежности (поскольку код, который мы тестируем, вызывает другие системы). При локальном запуске тестов на моей машине легко увидеть, где тест не удался. Однако мы также используем конвейер Jenkins, и когда тесты в Jenkins проваливаются, трудно понять, почему / как они провалились. По умолчанию мы получаем сообщение вроде этого:
com.company.api.OurKarateTests > [crossdock] Find Crossdock Location.[1:7] LPN is invalid FAILED
com.intuit.karate.exception.KarateException
По сути, все, что нам говорит, это имя файла и начальная строка сценария, который не удался. Наш конвейер настроен так, что мы можем передать флаг debug
и получить больше информации. Однако есть две проблемы с этим; одна из них заключается в том, что вы должны помнить об установке этого флага в каждом коммите, на котором вы хотите видеть информацию; другая причина в том, что у нас go не хватает информации слишком много (чтение файла всей сборки размером 24 МБ).
Мне нужны предложения по улучшению этого процесса, желательно без внесения изменений в конвейер Jenkins (другая команда управляет этим, и это, вероятно, займет много времени). Хотя, если изменение конвейера - единственный способ сделать это, я хотел бы знать это. Я готов «мыслить нестандартно» и развлекать неортодоксальные решения (например, публикация для слабой интеграции).
В настоящее время мы находимся на версии 0.9.3 по каратэ, но я, вероятно, планирую перейти на 0.9.5 как часть этих усилий. Я прочитал немного об изменениях. Будет ли "ExecutionHook" хорошим способом сделать это? Я немного поэкспериментирую с этим.
Столкнулись ли другие команды / разработчики с этой проблемой? Каковы были ваши решения? Опять же, мы действительно любим каратэ, просто борясь с интеграцией его в Дженкинс.