测试 - 一个完整的例子

这假定你已阅读有关启动新 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