0
def test_saving_a_POST_request(self):
request = HttpRequest()
request.method = "POST"
request.POST['item_text'] = "A new list item"
response = new_list(request)
# response = self.client.post('lists/new', {'item_text': "A new list item"})
new_item = Item.objects.first()
self.assertEqual(Item.objects.count(), 1)
self.assertEqual(new_item.text, 'A new list item')
這是用於測試new_list視圖的post響應的方法。當我使用HttpRequest()時它工作正常,當我嘗試使用內置客戶端發佈(註釋行)數據而不是HttpRequest時,它會引發錯誤。Python測試驅動開發 - 第6章
錯誤:
======================================================================
FAIL: test_saving_a_POST_request (lists.tests.NewListTest)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/Users/prabhath/PycharmProjects/superlists/lists/tests.py", line 95, in test_saving_a_POST_request
self.assertEqual(Item.objects.count(), 1)
AssertionError: 0 != 1
----------------------------------------------------------------------
我覺得這是我與如何使用客戶端發佈數據的問題。這是我正在閱讀的課本中的link。任何幫助表示讚賞。
Django的 - 1.9.5, 蟒蛇 - 3.5
如果你得到一個錯誤,你應該說它是什麼。 –
你可以嘗試在客戶端調用中使用'/ lists/new /'而不是'lists/new'(注意前導斜槓)嗎? –
@JoeyWilhelm我定義了一個以列表開頭並以url url結尾的url(r'^ lists/new $',views.new_list,name ='new_list')。但我試過它沒有工作。 – kiran6