Тестовый пример, написанный для распознавателя URL с использованием resol () в django приложении, не работающем - PullRequest
0 голосов
/ 30 марта 2020

Я пытаюсь написать контрольные примеры для простой системы входа и регистрации пользователя в django. Сначала я думал о написании тестовых случаев для URL. Единственный тестовый пример, который я написал до сих пор:

from django.test import SimpleTestCase
from django.urls import reverse, resolve, path
from main.views import homepage, register, login_request, logout_request
import json

# Create your tests here.

class TestUrls(SimpleTestCase):

      def test_list_is_resolved(self):
          url = reverse('homepage')
          self.assertEquals(resolve(url).func,homepage)

Значение по умолчанию urls.py:

 from django.contrib import admin
 from django.urls import path, include

 urlpatterns = [
      path('tinymce/',include('tinymce.urls')),
      path("",include('main.urls')),
      path('admin/', admin.site.urls),
           ]`

Основное приложение urls.py -

 from django.urls import path
 from . import views

 app_name='main' # here for namespacing the urls

 urlpatterns = [
      path("", views.login_request, name="login"),
      path("homepage/",views.homepage, name="homepage"),
      path("register/", views.register,name="register"),
      path("logout", views.logout_request, name="logout"),
        ]`

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

(myproject) C:\Users\rohan\mysite>py manage.py test
System check identified no issues (0 silenced).
E
======================================================================
ERROR: test_list_is_resolved (main.tests.test_urls.TestUrls)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\Users\rohan\mysite\main\tests\test_urls.py", line 11, in test_list_is_resolved
    url = reverse('homepage')
  File "C:\Users\rohan\Envs\myproject\lib\site-packages\django\urls\base.py", line 87, in reverse
   return iri_to_uri(resolver._reverse_with_prefix(view, prefix, *args, **kwargs))
  File "C:\Users\rohan\Envs\myproject\lib\site-packages\django\urls\resolvers.py", line 677, in 
_reverse_with_prefix
  raise NoReverseMatch(msg)
django.urls.exceptions.NoReverseMatch: Reverse for 'homepage' not found. 'homepage' is not a valid 
view 
function or pattern name.

----------------------------------------------------------------------
 Ran 1 test in 0.015s

FAILED (errors=1)

Я не могу найти какую-либо ошибку. Что здесь не так?

1 Ответ

0 голосов
/ 30 марта 2020

Удалите следующее:

app_name='main' # here for namespacing the urls

ИЛИ используйте следующее при движении задним ходом:

reverse("main:homepage")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...