Протестируйте запрос с помощью носа Django

Я новичок в тестировании в django. Я использую django Nose для TDD. Я использую Django Nose версии 1.2 в своей виртуальной среде. Я ссылался на ссылку ниже для создания моих тестов.

http://kokoko.fluxionary.net/testing-django-part-1-nose

В настоящее время мне нужно протестировать запрос, который я собираюсь написать в своих представлениях, т.е. проверить правильность вывода запроса. Я использовал код ниже, но тест не прошел:

import nose.tools as nt

nt.assert_true('obj_list' in resp.context)
nt.assert_equal([obj.pk for obj in resp.context['obj_list']], [1])

Любая помощь будет высоко ценится. Заранее спасибо.


person user12757    schedule 02.01.2014    source источник
comment
Тест не проходит без каких-либо сообщений?   -  person Nicolas Cortot    schedule 02.01.2014
comment
AssertionError: Списки различаются: [] != [1] Второй список содержит 1 дополнительный элемент. Первый дополнительный элемент 0: 1 - [] + [1]? +   -  person user12757    schedule 02.01.2014


Ответы (1)


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

Выберите одно из доступных решений:

  1. Создайте файл фикстуры, чтобы он содержал данные для всех ваших тестов: https://docs.djangoproject.com/en/dev/howto/initial-data/

  2. Создайте объекты в методе setUp или в методе test, а затем попробуйте выполнить некоторые утверждения.

Сначала прочитайте это, если у вас нет опыта тестирования в Django: https://docs.djangoproject.com/en/1.6/topics/testing/overview/

person Kamil Rykowski    schedule 02.01.2014