Правильно ли я тестирую приложение? - Python
Формулировка задачи:
Первое моё TDD приложение. Тест тоже отрабатывает верно. Если в моделях я уверен, то насчет тестов нет. Мои вопросы:
1) Нужно при каждом тесте создавать данные и сохранять их, как я здесь сделал?
2) Не слишком ли тестовые классы взаимосвязаны? Мне пришлось создавать статические конструкторы, потому что тестирование проекта без создания остальных объектов было бы невозможно.
3) Соблюдены ли общие правила создания тестов?
4) Нужно ли вручную уничтожать созданные в ходе тестов объекты?
Единственный тест расположен в функции test_get_root_tasks
Тесты
Модели
Решение задачи: «Правильно ли я тестирую приложение?»
textual
Листинг программы
from django.test import TestCase from django.utils import timezone from .models import Task, Project, Chief class MyTest(TestCase): def setUp(self): now = timezone.now() self.chief = ChiefMethodTests.objects.create( surname="test chief", dob=now, email="") self.project = Project.objects.create( name='test proj', description="wow, such test", start_date=now, end_date=now, chief=self.chief) self.root_task = Task.objects.create( name='task 0', description='wow, task 0!', start_date=now, end_date=now, project=self.project) self.task_array = [ Task.objects.create( name='task {0}'.format(i), description='wow, task {0}!'.format(i), start_date=now, end_date=now, project=self.project, parent_task=self.root_task) for i in xrange(1, 10)] def test_get_root_tasks(self): root_tasks = self.project.get_root_tasks() #проверить, вернулось ли что-нибудь вообще self.assertNotEqual(root_tasks.count(), 0) for task in root_tasks: self.assertEqual(task.parent_task, None)
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д