ChannelsLiveServerTestCase бросок URL не найден
Я пишу тесты для моего приложения, которое является приложением websocket; ну, на самом деле я написал эти тесты и они работали, но после того, как я написал пользовательский адаптер для allauth, для определенного url он начал выдавать ошибку url not found.
.
Я определил свои урлы следующим образом:
project urls.py:
urlpattens = [
...
path("messenger/", include("messenger.urls", namespace="messenger")),
...
]
А затем в messenger/urls.py:
app_name = "messenger"
urlpatterns = [
...
path("", views.chats_list_view, name="home"),
...
]
Теперь это мой tests.py:
Вывод:
System check identified no issues (0 silenced).
[04/14/22 22:08:35] INFO daphne.server: HTTP/2 support not enabled (install the http2 and tls Twisted extras) server.py:113
INFO daphne.server: Configuring endpoint tcp:port=0:interface=localhost server.py:122
INFO daphne.server: Listening on TCP address 127.0.0.1:42761 server.py:153
[04/14/22 22:09:02] WARNING django.request: Not Found: /messenger/ log.py:224
E
======================================================================
ERROR: test_send_a_message_into_a_group_and_receive_it (messenger.tests.TestConsumers)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/usr/src/app/apps/messenger/tests.py", line 169, in test_send_a_message_into_a_group_and_receive_it
chatgroup_url = self.live_server_url + chatgroup.get_absolute_url()
AttributeError: 'NoneType' object has no attribute 'get_absolute_url'
По сути это означает, что функция не нашла url /messenger/ и, как следствие, не смогла создать чатгруппу, поэтому вернула none, а none не имеет атрибута 'get_absolute_url()'. Также обратите внимание, что url был установлен обратной функцией.
.
Также я попытался получить другой url с помощью этого тестового драйвера, и он успешно открыл url. Никаких ошибок 'django.request: not found', никаких проблем, но по какой-то непонятной причине это происходит с /messenger/.
.
Как вы думаете, что мне делать, потому что я действительно не знаю, что делать.