Тест Pytest не работает при запуске с другими тестами, но проходит при самостоятельном запуске

Очень простой тест, который проверяет, может ли пользователь, который не вошел в систему, подключиться к моему вебсокету, который выглядит следующим образом:

@pytest.mark.asyncio
async def test_unauthenticated_cant_connect_to_websocket(unauthenticated_websocket_communicator: WebsocketCommunicator):
    connected, subprotocol = await unauthenticated_websocket_communicator.connect()
    assert subprotocol == 3000  # subprotocol 3000 is Unauthorised
    assert connected is False

Этот тест проходит, когда я тестирую его самостоятельно из cli, используя pytest -k test_unauthenticated_cant_connect_to_websocket

но не работает, когда я использую pytest из cli

моя функция подключения потребителей выглядит следующим образом:

async def websocket_connect(self, event: dict) -> None:
    if self.scope["user"].is_anonymous:
        await self.close(code=3000)
    else:
        await self.accept()

У меня есть несколько других тестов async с похожими типами кода, но все они проходят.

Любые предложения будут очень признательны

Я исправил проблему, добавив декоратор @pytest.mark.django_db к тесту.

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