Тестирование и непрерывная интеграция - PullRequest
1 голос
/ 22 февраля 2020

Я новичок в React и также изучал тестирование, а также непрерывную интеграцию и ее важность. Вы знаете, я прочитал много статей о топике c тестирования и КИ, и большинство из них говорят, что "оба очень важны" :), но я действительно хочу, чтобы вы подтвердили правильность моего понимания. Итак, во-первых, что касается тестирования, это правда, что мы пишем тесты в разработке программного обеспечения, чтобы гарантировать, что мы контролируем наше приложение, то есть, если мы добавляем новую функцию в приложение, то мы запускаем тесты, чтобы убедиться, что мы что-то сломаем или нет , Опять же, мы вносим изменения в приложение, затем запускаем тесты, чтобы убедиться, что мы что-то тормозим или нет? Во-вторых, что касается непрерывной интеграции, верно ли, что CI необходим для того, чтобы мы не запускали тесты вручную, то есть нам не нужно вводить npm тесты, или мы можем забыть запускать тесты, прежде чем перейти на github, таким образом, CI работает тесты для нас?

1 Ответ

2 голосов
/ 23 февраля 2020
  • Локальное тестирование и выполнение тестов в CI выполняют ту же цель, которая заключается в достижении максимального качества. Вы всегда должны запускать тесты локально (вы не хотите фиксировать испорченный код), и некоторые люди даже будут настаивать на том, чтобы вы выработали у него привычку, т. Е. Всегда используйте любой возможный способ помочь вам в фиксации только рабочего кода. Я предлагаю, например, прочитать https://en.wikipedia.org/wiki/Software_craftsmanship
  • О CI, при условии, что вы поддерживаете набор тестов, а сервер CI проинструктирован запускать их против вашего кода, тогда, конечно, это должно быть Достаточно, чтобы CI-сервер не давал работать неработающему коду. Однако было бы реальной тратой времени и ресурсов, а следовательно, и очень плохой привычкой, полагаться только на CI-сервер для запуска набора тестов, поскольку это означало бы, что вы понятия не имеете, работает ли код до его фиксации, и означает, что вы готовы рисковать качеством.

Насколько это возможно, должен быть принят только рабочий код. Это особенно важно при работе в команде. Таким образом, вы всегда должны проверять качество своей работы вне зависимости от внешнего сервера.

...