【发布时间】:2019-06-28 19:58:31
【问题描述】:
我正在使用 Django 包 Django Auto Complete light,这是我的使用方法:
在 urls.py 我使用:
path('buy-invoice-items-autocomplete/', views.ItemAutoComplete.as_view(), name='buy_invoice_items_autocomplete', ),
然后在 views.py 中:
class ItemAutoComplete(autocomplete.Select2QuerySetView):
def get_queryset(self):
qs = Item.objects.filter().order_by('id')
if self.q:
qs = qs.filter(Q(id__iexact=self.q) | Q(name__icontains=self.q))
return qs
最后我在我的 forms.py 中使用它,让用户过滤使用它。
现在,当我尝试将它包含在我的单元测试文件中时,我会这样做:
class TestItemAutoComplete(TestCase):
def test_visit(self):
self.client.get('/buy-invoice-items-autocomplete/')
使用 Coverage 包它表明我的测试没有覆盖线:
if self.q:
qs = qs.filter(Q(id__iexact=self.q) | Q(name__icontains=self.q))
如何在课堂上达到这部分并进行测试?
【问题讨论】:
标签: python django unit-testing