Вы разделяете свои модульные тесты от Ваших интеграционных тестов? [закрытый]

Попробуйте использовать JsonResponse:

https://docs.djangoproject.com/en/2.1/ref/request-response/#jsonresponse-objects

Кроме того, я не думаю, что вам нужен шаблон для ответа API.

return JsonResponse({'foo': 'bar'})

10
задан Helen 28 August 2009 в 19:47
поделиться

4 ответа

Я рассматриваю их как отличающихся по следующей причине.

  • Модульные тесты могут быть выполнены на едином классе / модуль в среде разработчика.
  • Интеграционные тесты должны быть выполнены в среде, которая напоминает фактическую производственную установку.

Модульные тесты сохранены сознательно "легкими" так, чтобы разработчик мог выполнить их как часто по мере необходимости с минимальной стоимостью.

7
ответ дан 3 December 2019 в 19:36
поделиться

Да. Обычно модульные тесты ограничены по объему на уровне класса, таким образом, они существуют в среде вместе с фиктивными объектами. Интеграционные тесты, с другой стороны, делают все приемы путем хранения ссылок на реальные типы блока.

Я просто не вижу, как можно было бы организовать и единицу и интеграцию в единственный проект.

3
ответ дан 3 December 2019 в 19:36
поделиться

Скорость является основной причиной. Вы хотите, чтобы Ваши модульные тесты были максимально быстро так, чтобы можно было выполнять их максимально часто. Необходимо все еще выполнить интеграционные тесты, но выполнение их однажды регистрация должно быть достаточным количеством IMO. Комплект модульного теста должен выполняться намного чаще - идеально с каждым рефакторингом.

Я работаю в среде, где у нас есть о 15k junit тесты с модульными и интеграционными тестами, полностью смешанными. Полный комплект берет о половине часа для выполнения. Разработчики стараются не выполнять его и находят ошибки позже, чем они должны. Иногда они регистрируются после выполнения только подмножества тестов и включают ошибку, которая повреждает непрерывную сборку.

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

7
ответ дан 3 December 2019 в 19:36
поделиться

если Вы ограничиваете понятие 'модульного теста' для обзора на уровне класса, то да, разделите их

однако, если Вы определите самую маленькую соответствующую тестируемую единицу как функцию затем, то некоторые Ваши тесты 'единицы' технически будут тестами 'интеграции'

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

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

сводка: различие 'единицы' и тестов 'интеграции' не важно; наборы тестов пакета на основе операционного объема

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

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