我如何找出在Django测试中调用了哪个视图?

在我的测试中,我想确保中间件返回正确的视图,是否有内置工具可以做到这一点?

更新资料

我想做这样的事情:

from django.test import TestCase, Client
from my_app.views import my_view

c = Client()
response = c.get(url)
self.assertEqual(response.view, my_view)


到目前为止,我看到的唯一解决方案是使用模拟。我的意思是嘲笑我的观点并检查,
是否被调用。

最佳答案

如果我正确理解了这个问题,这就是我一直在完成的工作:

found = resolve('url path')
self.assertEqual(found.func, my_view)


对于基于类的视图:

found = resolve('url path')
self.assertEqual(found.func.__name__, my_view.as_view().__name__)


由哈里·珀西瓦尔(Harry Percival)和他的精彩著作提供:https://goo.gl/yhWRGC

关于python - 获取Django测试中使用的 View ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26883263/

10-12 22:36