python - 获取在 Django 测试中使用的 View

标签 python django testing

我如何知道在 Django 测试中调用了哪个 View ?

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

更新

我想这样做:

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)

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

最佳答案

如果我正确理解了这个问题,这就是我完成此任务的方式:

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

对于基于类的 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/

相关文章:

python - 哪种机制允许 Excel 将用户的操作传达给外部?

python - 在django模型中插入CSV数据,空值

python - 出现错误 : Unknown MySQL server host 'db' (-2) in django python for docker

python - PyTest 上每个测试显示的百分比是什么意思?

java - 用于 QA 测试的后门 API——好还是坏?

python - 当我添加新命令进行撰写时,Docker Compose 与 Django 错误

python - 奇怪的 SQLAlchemy 错误消息 : TypeError: 'dict' object does not support indexing

python - 如果 django 上的其他表中已存在 ID,如何禁用或隐藏分配/重定向按钮

python - 我的 Django 翻译文件的正确位置在哪里?

java - 代码覆盖率导致以下问题