Правильный метод реализации Jest-тестов в сборке Jenkins - PullRequest
0 голосов
/ 25 сентября 2018

Мы используем Jest для выполнения модульных тестов React.js (во внешнем интерфейсе) нашего приложения Node.js, которое работает в док-контейнере.

Мы настроили конвейер в Дженкинсе, но я не уверен, как лучше (или передовой опыт ) включить тесты в состав конвейера.

У нас есть следующие шаги:

  1. Извлечение кода из управления исходным кодом
  2. Установка NPM и запуск сборки npm (внешний интерфейс)
  3. Сборка Docker + публикация
  4. Развертывание приложения
  5. Версия Bump
  6. Git push
  7. Очистка Docker

У меня есть3 основных запроса:

A.Я предполагаю, что лучше включить npm run test между Шаг 1 и Шаг 2 , и если все тесты пройдут успешно, чтобы двигаться дальше?

B.Но как обрабатываются снимки?Например, если произошло какое-то изменение, которое генерирует разницу в снимке, оно не будет «возвращено» обратно в систему управления исходным кодом.

C.Я читал, что люди используют Cobertura, jest-junit и т. Д. Для проведения юнит-тестов и покрытия в Jenkins - что лучше?

Заранее спасибо.

1 Ответ

0 голосов
/ 26 сентября 2018

Хорошие вопросы!

A.Вы можете запустить тесты после npm install.И если все испытания пройдут, вы двигаетесь дальше.Еще одна распространенная вещь, которую нужно сделать - запустить linting или проверку стиля кода.

B.Плохой снимок провалит тесты.Вот почему важно обновить снимки перед их фиксацией.Если ваш jenkins подключен к системе проверки кода, вы можете отключить слияния, которые дают сбой при сборке, чтобы избежать попадания плохих снимков в вашу основную ветку.

C.Я видел, как люди используют jest-junit, но это только потому, что требовалось объединить отчет о покрытии с отчетом о покрытии junit.Если у вас нет особых требований к структуре отчета, тогда отчет по умолчанию jest должен подойти, и вам не нужно ничего дополнительного.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...