I’m trying to test BookList url but got this error
” self.assertEqual(resolve(url).func, BookList.name)
AssertionError: <function View.as_view..view at 0x0000025699398360> != ‘BookList'”
view.py:
class BookList(generics.ListAPIView):
"""Retrive book list"""
queryset = models.Book.objects.all()
serializer_class = book_serializer.BookSerializer
url.py: path('', views.BookList.as_view(), name='book-list'),
test.py:
from django.test import SimpleTestCase
from django.urls import reverse, resolve
from book.views import BookList
class TestUrls(SimpleTestCase):
def test_list_url_is_resolved(self):
url = reverse('book-list')
print(resolve(url))
self.assertEqual(resolve(url).func, BookList.__name__)
I tried this
class TestUrls(SimpleTestCase):
def test_list_url_is_resolved(self):
url = reverse('book-list')
print(resolve(url))
self.assertEqual(resolve(url).func.__name__, BookList.as_view())
but got this error “self.assertEqual(resolve(url).func.name, BookList.as_view())
AssertionError: ‘view’ != <function View.as_view..view at 0x000001FA9E7320C0>”
also tried this
def test_list_url_is_resolved(self):
url = reverse('book-list')
print(resolve(url))
self.assertEqual(resolve(url).func, BookList.as_view())
and got this ” self.assertEqual(resolve(url).func, BookList.as_view())
AssertionError: <function View.as_view..view at 0x000002C666D48360> != <function View.as_view..view at 0x000002C666D120C0>”