Модульные тесты в производстве выпускают код? [закрытый]

GC будет не , вызов располагает. Это может называть Ваш финализатор, но даже это не гарантируется при всех обстоятельствах.

Посмотрите этот статья для обсуждения лучшего способа обработать это.

10
задан Scott Marlowe 14 August 2009 в 16:26
поделиться

5 ответов

  1. Совершенно верно. Если наша сборка проходит набор модульных тестов, она помечается и кандидатом для производства
  2. Нет. Развертывания не включают ни тесты, ни вспомогательные библиотеки (например, библиотеки модульных тестов, имитацию и т. Д.)

Это мое общее правило (я обычно развертываю для нетехнических пользователей). Однако у меня есть исключение, это служебная программа для программирования, которая тестируется на ~ 130 тестовых скриптах. Поскольку тестовые сценарии служат примерами, я развертываю их вместе с производственной версией, и, следовательно, они улучшают существующую документацию.

Развертывание тестов с открытым исходным кодом определенно стоит того. Это позволяет людям играть, изменять и отправлять исправления, в то же время имея возможность запускать успешно пройденные тесты, чтобы разрешить выпуск исходного артефакта.

16
ответ дан 3 December 2019 в 15:06
поделиться
  1. Да конечно! Модульные тесты выполняются для всех конфигураций сборки.

  2. Модульные тесты всегда остаются нетронутыми, но это не означает, что поставляемые сборки зависят от чего-либо, относящегося к тестам. Тесты всегда пишутся в параллельной сборке (в той же среде сборки), которая затем тестирует производственную сборку. Параллельная сборка не поставляется, так как содержит только тесты.

2
ответ дан 3 December 2019 в 15:06
поделиться

Да и Да, поведение приложения может отличаться в зависимости от выпуска и отладочной сборки, поэтому как часть процесса выпуска сборка выпуска должна пройти все свои модульные тесты.

8
ответ дан 3 December 2019 в 15:06
поделиться
  1. Да, помните классическую ошибку «Утверждение с побочными эффектами», которую также необходимо отловить. Но это не нужно делать так часто, как отладочная сборка, где полное тестирование должно выполняться каждый день.
  2. Обычно модульные тесты находятся в разных единицах перевода и в другом проекте, так что сборка релиза основного проекта их вообще не трогает. Если ваши модульные тесты находятся в тех же единицах трансляции, что и тестируемый код, вы можете использовать условную компиляцию, чтобы исключить их из выпусков.
2
ответ дан 3 December 2019 в 15:06
поделиться

Зависит от проекта. Да на номер 1. Следуя принципу, что все должно быть проверено в системе контроля исходного кода, и новый разработчик должен легко начать работать. Сделайте их частью кодовой базы. Новые люди могут проверить и запустить тесты.

Развернуты ли они в производственной среде - это другой вопрос. Я не работал над проектом, который нуждался в них . Модель развертывания Rails (как правило) - это просто проверка всего проекта на производственной машине, так что да, они есть. У проектов Java / Maven есть целый этап сборки / упаковки, и, как правило, модульные тесты могут - и удаляются - при сборке окончательного файла .war.

В любом случае, вы не ожидаете, что они побегут. В сегодняшних условиях это не так. Не имеет значения, находятся ли они там - память и диск настолько дешевы, что это не проблема. Я слышал аргумент, что вам не нужен тестовый код на производственном сервере, чтобы не было риска его запуска, но я не слышал о сценарии, когда это действительно могло бы произойти.

2
ответ дан 3 December 2019 в 15:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: