Интеграция Django "Клиентский класс" в VS Code

У меня было несколько проблем с интеграцией тестирования Django в VSCode. Наконец мне удалось запустить большинство видов тестов (похоже, что хитрость заключается в том, чтобы запустить django.setup() до того, как произойдет все остальное, включая импорт модулей Django), но теперь у меня возникла проблема с классом клиента Django. Я делаю простой client.get() и получаю ошибку 400 (Bad Request) из VSCode. Но если я запускаю "python manage.py test" из CLI, тест работает! Я в полной растерянности, что происходит...

Вот мой код. Он не может быть проще.

import logging

import django

django.setup()

from django.test import Client, TestCase  # noqa: E402
from django.db import DatabaseError   # noqa: E402

logger = logging.getLogger('XXXX.debugger')


class WorkflowAPIClient(TestCase):
   
    def test_createWorkflow(self):
   
        client = Client()

        resp = client.get('/workflow/')
        
        logger.debug(f'After request: {resp.status_code} - {resp.content}')
        self.assertEqual(resp.status_code, 200)

Когда я запускаю это из CLI как "python manage.py test", все проходит нормально (assertEqual успешно). Когда я пытаюсь запустить это из тестового модуля VSCode, он выдает status_code 400 и таким образом, assertEqual терпит неудачу.

Я использую unittest для конфигурации тестов VSCode, и он обнаруживает тестовые файлы без каких-либо проблем.

400 ошибка обычно вызвана невозможностью доступа к доменному имени. Вы можете провести отладку, чтобы проверить проблему или проверить, является ли это ошибкой ALLOWED_HOSTS.

Вернуться на верх