Django channels test AsyncConsumer.__call__() missing 1 required positional argument: 'send'
Я использую приведенный ниже код в реальной среде.
Когда я попытался написать тестовый код, возникла следующая ошибка.
Он также отлично работает в моей локальной среде.
Я пытался написать код теста, глядя на channels test,
но произошла ошибка, описанная ниже. Что случилось?
routing.py
from django.urls import path
from .consumers import ExchangeRateConsumer
websocket_urlpatterns = [
path("ws/exchange_rate/<str:currency>/", ExchangeRateConsumer.as_asgi()),
]
asgi.py
application = ProtocolTypeRouter(
{
"http": django_asgi_app,
"websocket": AllowedHostsOriginValidator(
AuthMiddlewareStack(URLRouter(websocket_urlpatterns))
),
}
)
tests.py
class ChannelTest(TestCase):
async def test_channel_connect(self):
communicator = HttpCommunicator(ExchangeRateConsumer, "GET", "/exchange_rate/USD")
response = await communicator.get_response()
error
TypeError: AsyncConsumer.call() отсутствует 1 обязательный позиционный аргумент: 'send'