Методы setUpTestData и setUp TestCase в Django

Может ли кто-нибудь объяснить мне разницу между методами setUpTestData и setUp TestCase в Django?

В документации сказано

* Описанный выше атомарный блок на уровне класса позволяет создавать начальные данные на уровне класса, один раз для всего тест-кейса. Эта техника позволяет ускорить тестирование по сравнению с использованием setUp().

Будьте осторожны и не модифицируйте объекты, созданные в setUpTestData(), в своих тестовых методах. Модификации в объектах в памяти от работы по настройке, выполненной на уровне класса, будут сохраняться между методами тестирования. Если вам необходимо модифицировать их, вы можете перезагрузить их в методе setUp() с помощью refresh_from_db() *

И часть кода...

from django.test import TestCase
class MyTests(TestCase):

   @classmethod
   def setUpTestData(cls):
      # Set up data for the whole TestCase
      cls.foo = Foo.objects.create(bar="Test")

   def test1(self):
      # Some test
Вернуться на верх