Джанго, когда использовать метод демонтажа

Согласно документам:

С другой стороны, TestCase не усекает таблицы и не перезагружает исходные данные в начале теста. Вместо этого он включает тестовый код в транзакцию базы данных, откат которой выполняется в конце теста. Он также не позволяет тестируемому коду выполнять какие-либо операции фиксации или отката в базе данных, чтобы гарантировать, что откат в конце теста восстановит базу данных до ее исходного состояния. Чтобы гарантировать, что весь код TestCase начинается с чистой базы данных, исполнитель тестов Django сначала запускает все тесты TestCase, а затем любые другие тесты (например, doctests), которые могут изменить базу данных, не восстанавливая ее в исходное состояние.

Итак, если у меня есть тест, который выглядит так:

class GeneralUserCreateTest(TestCase):

    def setUp(self):
        create_roletypes()
        create_permissiontypes()
        self.client = Client()
        self.event = create_event()

    def test_create(self):
        create_url = reverse('event_user_signup', args=[self.event.slug])

        post_data = {
            'signup-account-email': '[email protected]',
            'signup-account-password': 'foobar',
            'signup-account-password2': 'foobar',
            'signup-account-first_name': 'Foo',
            'signup-account-last_name': 'Bar',
        }
        response = self.client.post(create_url, data=post_data)
        self.assertEqual(response.status_code, 302)

        # check creation of user object
        self.assertEqual(User.objects.filter(email=post_data['signup-account-email']).count(), 1)
        user = User.objects.get(username=post_data['signup-account-email'])

        # user and profile objects created
        self.assertEqual(User.objects.all().count(), 1)
        self.assertEqual(Profile.objects.all().count(), 1)

        # get the first user and profile object to test against submitted field
        user = User.objects.all()[0]
        profile = Profile.objects.all()[0]
        role = Role.objects.filter(event=self.event, profiles=profile)[0]
        self.assertEqual(role.roletype.name, 'General')
        self.assertEqual(user.username, post_data['signup-account-email'])
        self.assertEqual(user.email, post_data['signup-account-email'])
        self.assertEqual(profile.first_name, post_data['signup-account-first_name'])
        self.assertEqual(profile.last_name, post_data['signup-account-last_name'])

Это все еще необходимо запуститьteardown метод или делаетTestCase класс позаботится об этом? Если да, то когда следует использоватьteardown метод с учетом наличияTestCase класс?

Ответы на вопрос(3)

Ваш ответ на вопрос