我正在調整官方Django 1.5教程中的單元測試。我試圖在ListView上測試一個空的上下文。我收到以下錯誤:Django:單元測試ListView和assertContains問題
AssertionError: Couldn't find 'No persons are available' in response.
,這是我的ListView代碼:
class RsvpListView(generic.ListView):
template_name = 'rsvp_list.html'
context_object_name = 'rsvplist'
def get_queryset(self):
return Person.objects.all()
這裏是我的測試用例的方法:
def test_rvsp_list_view_with_no_persons(self):
response = self.client.get(reverse('myapp:rsvp_view'))
self.assertEqual(response.status_code,200)
self.assertContains(response,"No persons are available.")
self.assertQuerysetEqual(response.context['rsvplist'],[])
但在官方教程中的民意調查等效line(https://docs.djangoproject.com/en/dev/intro/tutorial05/#testing-our-new-view):
self.assertContains(response,"No polls are available.")
我不知道哪裏「沒有民意調查」存儲在本教程提供的視圖方法的響應中,但由於某種原因它通過了 - 我的方法並沒有。
我在測試方法中丟失了什麼,所以它也通過了?
感謝您的快速答覆。我很感激 :) – Paul