Cam*_*lla 1 python django unit-testing django-views
我对 Django 很陌生,需要帮助测试我的视图模块。现在视图仅返回数据库中的所有对象:
def get_queryset(self):
return people.objects.all()
Run Code Online (Sandbox Code Playgroud)
我想测试视图是否返回所有对象。我知道我应该使用assertQuerysetEqual,并且我已经阅读过它,但仍然不确定如何实现它,因为我无法从文档中理解太多内容。如果有人可以展示一些例子或解释,我将不胜感激。
Naf*_*war 10
考虑到您正在使用基于类的视图。您可以执行以下步骤来测试get_queryset方法。测试其他功能的过程应该类似。
from django.test import RequestFactory
request = RequestFactory().get('/view-path')
Run Code Online (Sandbox Code Playgroud)
view = YourView()
Run Code Online (Sandbox Code Playgroud)
view.request = request
Run Code Online (Sandbox Code Playgroud)
qs = view.get_queryset()
整个测试用例看起来像这样
def test_get_queryset(self):
request = RequestFactory().get('/view-path')
view = YourView()
view.request = request
qs = view.get_queryset()
self.assertQuerysetEqual(qs, people.objects.all())
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2580 次 |
| 最近记录: |