gpt4 book ai didi

python - 为什么我不能测试是否解决了正确的通用 View ?

转载 作者:太空宇宙 更新时间:2023-11-04 10:29:27 25 4
gpt4 key购买 nike

我正在尝试进入 TDD。按照哈利·珀西瓦尔 (Harry Percival) 的书,我想一步一步来。所以我的第一个单元测试应该是检查是否...

found = resolve("/")

真正调用了正确的函数。所以我做了这个断言:

self.assertEqual(found.func, ListView.as_view())

但它告诉我:

AssertionError: <function ListView at 0x3389668> != <function ListView at 0x35c1e60>

那么为什么函数不匹配呢?

最佳答案

ListView.as_view() 在每次调用时生成新的 View 函数对象。因此 urls.py 中生成的函数与您的测试中生成的函数不同。

您可以在 views.py 中创建一次 View 函数,然后在 urls.pytests.py 中引用它:

views.py

home_view = ListView.as_view()

urls.py

url(r'^$', views.home_view, name='home'),

测试.py

self.assertEqual(found.func, views.home_view)

关于python - 为什么我不能测试是否解决了正确的通用 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27735965/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com