測試 - 一個完整的例子

這假定你已閱讀有關啟動新 Django 專案的文件。讓我們假設你專案中的主應用程式名為 td(測試驅動的簡稱)。要建立第一個測試,請建立名為 test_view.py 的檔案,然後將以下內容複製貼上到其中。

from django.test import Client, TestCase

class ViewTest(TestCase):

    def test_hello(self):
        c = Client()
        resp = c.get('/hello/')
        self.assertEqual(resp.status_code, 200)

你可以通過執行此測試

 ./manage.py test

它最自然會失敗! 你將看到類似於以下內容的錯誤。

Traceback (most recent call last):
  File "/home/me/workspace/td/tests_view.py", line 9, in test_hello
    self.assertEqual(resp.status_code, 200)
AssertionError: 200 != 404

為什麼會這樣?因為我們還沒有為此定義檢視! 所以我們這樣做吧。建立一個名為 views.py 的檔案,並在其中放入以下程式碼

from django.http import HttpResponse
def hello(request):
    return HttpResponse('hello')

接下來通過編輯 url py 將其對映到/ hello /,如下所示:

from td import views

urlpatterns = [
    url(r'^admin/', include(admin.site.urls)),
    url(r'^hello/', views.hello),
    ....
]

現在再次執行測試 ./manage.py test 再次中提琴!!

Creating test database for alias 'default'...
.Ran 1 test in 0.004s

OK