国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

python - Django 測試url老是回404,用瀏覽器瀏覽url就正常,這是怎麼回事?
淡淡煙草味
淡淡煙草味 2017-05-18 11:01:59
0
3
770

測試程式碼如下:

from django.test import TestCase
# Create your tests here.

class SendviewsTestCase(TestCase):

    def test_get_data(self):
        rep = self.client.post('/data/datamsg/',{'data_name':'測試數(shù)據(jù)'})
        print (rep.content)
        # 測試http請求的返回碼是否正確
        self.assertEqual(rep.status_code,200)
======================================================================
FAIL: test_get_data (dataforpro.tests.SendviewsTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/yangtz/developproject/backend/dataforpro/tests.py", line 20, in test_get_data
    self.assertEqual(rep.status_code,200)
AssertionError: 404 != 200

----------------------------------------------------------------------
Ran 1 test in 0.017s

FAILED (failures=1)
Destroying test database for alias 'default'...

但是用瀏覽器瀏覽該url時,就能正?;貍?00,是不是哪裡的設(shè)定不對?

淡淡煙草味
淡淡煙草味

全部回覆(3)
劉奇

看你的錯誤是404,表示訪問/data/datamsg/的時候沒找到url,要看你的url地址是怎麼配的,試試/data/datamsg把後面的/去掉,又或才是你要加上http://localhost之類的

曾經(jīng)蠟筆沒有小新

你說你用瀏覽器可以瀏覽該 url
你透過瀏覽器存取 url,瀏覽器會發(fā)送 GET 請求
但是你在測試裡面用的是 POST 請求。

所以就算,瀏覽器裡面正不正常和測試通不通過沒有任何聯(lián)繫

曾經(jīng)蠟筆沒有小新

出現(xiàn)404,應(yīng)該如1L所言,需要補全URL(host部分)。因為透過瀏覽器請求的時候,頁面裡URL是 / 開頭,瀏覽器會自動加上host;而你在單元測試案例裡,必須自己寫完整的URL。
出現(xiàn)302,你得看看:302跳到哪個URL了?是你在哪裡增加了什麼限制/驗證條件?例如,增加了“l(fā)ogin_required”,如果系統(tǒng)檢查沒有登錄,自動302跳到登入頁面?
還有一種可能,應(yīng)該是出現(xiàn)403才對,你偽造了POST請求,而django預(yù)設(shè)是有csrf校驗的。

最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板