[enter image description here][1]Hii i try to test my url easily with TestCase and reverse, but i get NoReverseMatch error.
- urls.py
from django.urls import path
from . import views
app_name = "testapp"
urlpatterns = [
path("", views.index, name="index"),
]
- tests.py
from django.test import TestCase
from django.urls import reverse
class BasicTests(TestCase):
def test_index(self):
response = self.client.get(
reverse('testapp:index'))
self.assertEqual(response.status_code, 200)
self.assertContains(response, "Hello World")
- And the error:
ERROR: test_index (mysite.tests.BasicTests)
----------------------------------------------------------------------
Traceback (most recent call last):
File "django\myvenv\lib\site-packages\django\urls\base.py", line 71, in reverse
extra, resolver = resolver.namespace_dict[ns]
KeyError: 'testapp'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "django\mysite\mysite\tests.py", line 7, in test_index
reverse('testapp:index'))
File "django\myvenv\lib\site-packages\django\urls\base.py", line 82, in reverse
raise NoReverseMatch("%s is not a registered namespace" % key)
django.urls.exceptions.NoReverseMatch: 'testapp' is not a registered namespace
Structure:
django
|--mysite
|--manage.py
|--mysite
|--settings.py
|--tests.py
|--urls.py
|--views.py
...
I dont have any problem with running server, but with "manage.py test" i get that error. What am I missing here?