Django - Напишите тестовую функцию, которая запускается один раз перед всеми тестовыми случаями

У меня есть код, который создает записи в таблице, потому что они необходимы для создания нового поста. Вам нужен пользователь, цель и категория цели. Я слышал, что setUp() запускается перед каждым тестом, так что это проблема, поскольку он может попытаться создать уже существующие экземпляры. Я бы хотел запускать setUp() один раз перед выполнением всех тестов. Как это сделать?

class PostTest(TestCase):
    def setUp(self) -> None:
        GoalCategory.objects.create(category='other', emoji_url='url')
        self.user = UserFactory()
        self.goal = GoalFactory()

    def test_create_post(self):
        response = self.client.post(reverse('post'),
                                    data=json.dumps({'creator_id': str(self.user.uuid),
                                                     'goal_id': str(self.goal.uuid),
                                                     'body': 'Some text #Test'}),
                                    content_type='application/json')
        self.assertEqual(response.status_code, status.HTTP_201_CREATED)

    def test_no_goal_create_post(self):
        response = self.client.post(reverse('post'),
                                    data=json.dumps({'creator_id': str(self.user.uuid),
                                                     'goal_id': 'some messed up UUID',
                                                     'body': 'Some text #Test'}),
                                    content_type='application/json')
        self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)

    def test_no_user_create_post(self):
        response = self.client.post(reverse('post'),
                                    data=json.dumps({'creator_id': 'messed up user',
                                                     'goal_id': str(self.goal.uuid),
                                                     'body': 'Some text #Test'}),
                                    content_type='application/json')
        self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
Вернуться на верх