Как делают меня модульный тест Django Views?

Я соглашаюсь, что это является раздражающим, и является похожим, это фиксируется для Raring. См. #8 на панели запуска

, Эта ошибка была исправлена в оболочке гнома пакета - 3.6.1-3ubuntu2

оболочка гнома (3.6.1-3ubuntu2) полный нетерпения; urgency=low

  • Восстанавливает против нового бормотания
    - Jeremy Bicha четверг, 08 ноября 2012 10:47:35 - 0500 Измененных в оболочке гнома (Ubuntu):
    состояние: Сортированные в †’ Фиксируют Выпущенный

(я не протестировал его хотя).

10
задан George Stocker 12 April 2013 в 15:43
поделиться

3 ответа

Я не уверен, насколько сложно тестировать представление.

Вы просто используете тестовый клиент .

Покрытие кода легко. Вы рассуждаете, как URL-запрос отображается на путь кода, и делаете соответствующие URL-запросы.

Вы можете, если хотите, вызовите функции просмотра «вручную», создав объект Request и изучив объект Response, но это слишком много работы

. Если у вас есть сомнения относительно покрытия вашего кода, это хорошо. Это означает, что у вас есть код, который нельзя легко сопоставить с URL-адресом (а это все, что пользователь может когда-либо увидеть в веб-приложении). Если у вас есть код, который не сопоставляется с URL-адресом, вам, вероятно, следует либо (а) удалить код или (б) преобразовать его в отдельный модуль.

У нас есть много модулей вне наших функций просмотра. Наши функции просмотра импортируют эти модули. Мы тестируем эти модули «вне функции просмотра» с помощью обычного unittest.


Вот типичная структура.

some_big_product/
|-- __init__.py
|-- settings.py
|-- urls.py
|-- logging.ini
|-- other_global_files.py
|-- an_app_1/
|   |-- __init__.py
|   |-- urls.py
|   |-- models.py
|   |-- views.py
|   |-- tests.py <-- the generic Django testing 
|   |-- app_specific_module.py
|   |-- app_specific_package/
|   |   |-- __init__.py
|   |-- test_app_specific_module.py <-- unittest 
|   |-- test_app_specific_package.py
|-- generic_module.py
|-- generic_package/
|   |-- __init__.py
|-- tests/
|   |-- test_this.py
|   |-- test_that.py
|   |-- test_all.py <-- not always practical
|-- scripts/
    |-- run_tests.sh 
11
ответ дан 3 December 2019 в 23:50
поделиться

Вы можете попробовать tddspry - набор помощников для тестирования Django с помощью тестов и саржи. У носа также есть плагин покрытия, который генерирует красивые отчеты о покрытии.

0
ответ дан 3 December 2019 в 23:50
поделиться

django.test.client должен иметь все необходимое для базового модульного тестирования представления. Мне также очень нравятся саржа и селен для тестирования полного стека.

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

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