Я соглашаюсь, что это является раздражающим, и является похожим, это фиксируется для Raring
. См. #8 на панели запуска
, Эта ошибка была исправлена в оболочке гнома пакета - 3.6.1-3ubuntu2
оболочка гнома (3.6.1-3ubuntu2) полный нетерпения; urgency=low
- Восстанавливает против нового бормотания
- Jeremy Bicha четверг, 08 ноября 2012 10:47:35 - 0500 Измененных в оболочке гнома (Ubuntu):
состояние: Сортированные в †’ Фиксируют Выпущенный
(я не протестировал его хотя).
Я не уверен, насколько сложно тестировать представление.
Вы просто используете тестовый клиент .
Покрытие кода легко. Вы рассуждаете, как 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
Вы можете попробовать tddspry - набор помощников для тестирования Django с помощью тестов и саржи. У носа также есть плагин покрытия, который генерирует красивые отчеты о покрытии.
django.test.client должен иметь все необходимое для базового модульного тестирования представления. Мне также очень нравятся саржа и селен для тестирования полного стека.