解析的url函数不等于基于类的视图`as_view()`方法?

问题描述 投票:1回答:1

我有以下测试:

def test_root_url_resolves_to_home_page_view(self):
    found = resolve('/')
    self.assertEqual(
        found.func,
        views.HomePageView.as_view()
    )

给出了这个错误:

AssertionError: <function HomePageView at 0x107d65620> != <function HomePageView at 0x107d97400>
django django-testing
1个回答
0
投票

根据django 2 documentation on testing the response resolver

# class-based views need to be compared by name, as the functions
# generated by as_view() won't be equal
self.assertEqual(response.resolver_match.func.__name__, MyView.as_view().__name__)

在你的情况下:

self.assertEqual(
        found.func.__name__,
        views.HomePageView.as_view().__name__
    )
© www.soinside.com 2019 - 2024. All rights reserved.