Испытание на издевательство в Django не работает при запуске всего в TestCase, но работает хорошо один за другим

Я использую python mock для исправления некоторых функций и классов при тестировании представлений в Django.

Если я запускаю каждый тест независимо, все тесты работают. Но когда я запускаю TestCase, некоторые тесты не работают (патч не действует).

class ViewsTest(TestCase):
    @mock.patch('extras.utils.get_user_category')
    def test_select_test(self, mock_method):        
        mock_method.return_value = Category(id=1, name="Foo")

        response = self.client.post(reverse('select_test', args=['Foo']))

        self.assertEqual(200, self.client.post(reverse('select')).status_code)

    @mock.patch('user_profile.models.Profile.categories')
    def test_category_view(self, mock_related):      
        mock_related.all.return_value = []

        self.assertEqual(200, self.client.post(reverse('category')).status_code)

У меня есть печать в представлениях, чтобы увидеть каждый смоделированный метод, когда он работает, он печатает:

MagicMock name = 'get_user_category' id = '162815756'

И когда не работает, я вижу:

функция get_user_category в 0x8e0fb8c

Я пробовал патчер start () и stop (), но у меня все еще есть проблемы.

В чем проблема?

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

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