国产成人AV无码一二三区,少女1到100集,国产精品久久久久精品综合紧,巜公妇之诱感肉欲HD在线播放

文章 > Django > Django入门指南10-主页的请求测试

Django入门指南10-主页的请求测试

Django

头像

Python

2019-11-21 14:03:184390浏览 · 0收藏 · 0评论

注:本文为 《一个完整的Django入门指南》系列教程(中文版)第10节,你可以查看该教程的完整目录。

测试主页

测试将是一个反复出现的主题,我们将在整个教程系列中一起探讨不同的概念和策略。

2-5.jpg

我们来开始写第一个测试。现在,我们将在boards应用程序内的tests.py文件中操作

boards/tests.py
from django.core.urlresolvers import reverse
from django.test import TestCase
class HomeTests(TestCase):
    def test_home_view_status_code(self):
        url = reverse('home')
        response = self.client.get(url)
        self.assertEquals(response.status_code, 200)

这是一个非常简单但非常有用的测试用例,我们测试的是请求该URL后返回的响应状态码。状态码200意味着成功。

请求一下主页后,我们可以在控制台中看到响应的状态代码:

d3230302e706e67.png

如果出现未捕获的异常,语法错误或其他任何情况,Django会返回状态代码500,这意味着内部服务器错误。现在,想象我们的应用程序有100个视图。如果我们为所有视图编写这个简单的测试,只需一个命令,我们就能够测试所有视图是否返回成功代码,因此用户在任何地方都看不到任何错误消息。如果没有自动化测试,我们需要逐一检查每个页面。

执行Django的测试套件:

python manage.py test
Creating test database for alias 'default'...
System check identified no issues (0 silenced).
.
----------------------------------------------------------------------
Ran 1 test in 0.041s
OK
Destroying test database for alias 'default'...

现在我们可以测试Django是否在请求的URL的时候返回了正确的视图函数。这也是一个有用的测试,因为随着开发的进展,您会发现urls.py模块可能变得非常庞大而复杂。URL conf 全部是关于解析正则表达式的。有些情况下有一个非常宽容的URL(译注:本来不应该匹配的,却因为正则表达式写的过于宽泛而错误的匹配了),所以Django最终可能返回错误的视图函数。

我们可以这样做:

boards/tests.py
from django.core.urlresolvers import reverse
from django.urls import resolve
from django.test import TestCase
from .views import home
class HomeTests(TestCase):
    def test_home_view_status_code(self):
        url = reverse('home')
        response = self.client.get(url)
        self.assertEquals(response.status_code, 200)
def test_home_url_resolves_home_view(self):
        view = resolve('/')
        self.assertEquals(view.func, home)

在第二个测试中,我们使用了resolve函数。Django使用它来将浏览器发起请求的URL与urls.py模块中列出的URL进行匹配。该测试用于确定URL / 返回 home 视图。

再次测试:

python manage.py test
```sh
Creating test database for alias 'default'...
System check identified no issues (0 silenced).
..
----------------------------------------------------------------------
Ran 2 tests in 0.027s
OK
Destroying test database for alias 'default'...

要查看有关测试执行时更详细的信息,可将verbosity的级别设置得更高一点:

python manage.py test --verbosity=2
Creating test database for alias 'default' ('file:memorydb_default?mode=memory&cache=shared')...
Operations to perform:
  Synchronize unmigrated apps: messages, staticfiles
  Apply all migrations: admin, auth, boards, contenttypes, sessions
Synchronizing apps without migrations:
  Creating tables...
    Running deferred SQL...
Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying admin.0002_logentry_remove_auto_add... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0002_alter_permission_name_max_length... OK
  Applying auth.0003_alter_user_email_max_length... OK
  Applying auth.0004_alter_user_username_opts... OK
  Applying auth.0005_alter_user_last_login_null... OK
  Applying auth.0006_require_contenttypes_0002... OK
  Applying auth.0007_alter_validators_add_error_messages... OK
  Applying auth.0008_alter_user_username_max_length... OK
  Applying boards.0001_initial... OK
  Applying sessions.0001_initial... OK
System check identified no issues (0 silenced).
test_home_url_resolves_home_view (boards.tests.HomeTests) ... ok
test_home_view_status_code (boards.tests.HomeTests) ... ok
----------------------------------------------------------------------
Ran 2 tests in 0.017s
OK
Destroying test database for alias 'default' ('file:memorydb_default?mode=memory&cache=shared')...

Verbosity决定了将要打印到控制台的通知和调试信息量; 0是无输出,1是正常输出,2是详细输出。

下一节:Django入门指南11-静态文件的设置

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

医生一直揉白带湿漉漉的正常吗 | 《夜班护士》结局| 无耻家庭凯伦跟妈妈是哪一集| 少女たちよ观看免费高清电视剧 | 《高压监狱2》完整版| 免费B站看大片真人电视剧| 美国禁忌6 结局| 鲁鲁射击免费播放电视剧全部| HTTPS://9.1.CRM...| 成人做爰100部片| 美国禁忌2在线观看电视剧| 做一次爱下面多久才能恢复| 免费的行情网站WWW下载大全 | 电视剧在线观看免费| 小峡子边喂奶边和我做爰 | 欧美大妈LOGO大全及价格图| 少女配狗视频大全播放| 想见你台剧| 吻戏| 女士穿紧身裸体开裆光滑皮裤| 《吃入铃铛》双男主全文免费阅读| AAA成人片爽久爽久爽| 女人乱子伦xXX沧州| 摧花狂魔全文阅读免费| 女人尝试到更粗大的心理变化| 《办公室高潮秘书2》电影影| 欧美电影免费观看电视剧大全| 邻居交换做爰5| 公在厨房撕开奶罩吸奶头| 大S有几个小孩| 女人的滋味| 屁股翘起来跪在床上有好处吗 | 少女配狗视频大全播放| 蜜桃| 《不忠》免费观看完整版电影| BOBO浏览器老司机模式改版特.| 泰国电影《初次深交流》| 青柠影院在线观看高清电视剧荣耀| 儿子控制不住对妈妈发脾气怎么办| 免费观看己满十八岁电视剧姐弟| 蜜桃成时熟2