Я наконец решил создать модульный тест для всего моего кода. То есть я пытаюсь создать приборы на основе моих моделей, чтобы проверить свою функцию на них.
Я создал приспособление json с помощью команды dumpdata и поместил его в директорию приспособлений моего приложения. Ниже приведен код моего теста:
import unittest
from mysite.myapp.models import Post
class RatingTestCase(unittest.TestCase):
fixtures = [
'posts.json',
]
def test_me(self):
p = Post.objects.all()
self.assertTrue(p)
Я запускаю свой тест, используя следующую команду на моем компьютере с Linux:
python2.7 manage.py test myapp
Он создает базу данных sqlite и устанавливает все таблицы и индексы, однако в конце он сообщает, что не найдено никаких приборов, и говорит, что мой тест не пройден, поскольку он не нашел никаких данных.
Я работаю с последней версией Django для разработчиков и заметил, что на основе документации, которую я должен импортировать unittest, используя:
from django.utils import unittest
Однако, когда я делаю это, он жалуется, что unittest не может быть импортирован. Вот почему я импортирую
unittest прямо из моего пути к Python, который работал.
Ранее я пытался смоделировать объекты модели django, но я думаю, что лучше тестировать приложения Django с использованием осветителей, чем с использованием имитирующих библиотек. Есть идеи как загрузить светильники?
Заранее спасибо.
EDIT: если я изменю имя своего прибора на initial_data.json, он будет загружаться при каждом запуске теста. Однако мне по-прежнему нужно иметь несколько имен приборов для запуска разных тестов.
РЕДАКТИРОВАТЬ: я заработал, импортировав TestCase из следующего:
from django.test import TestCase