django测试用例,django的request

  django测试用例,django的request

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

  测试主页

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

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

  board/tests . py

  fromdjango . core . urlresolversimportreverse

  fromdjango.testimportTestCase

  classHomeTests(测试用例):

  def test _ home _ view _ status _ code(self):

  url=reverse(home )

  response=self.client.get(url)

  self . assert equals(response . status _ code,200)这是一个非常简单但非常有用的测试用例。我们正在测试请求此URL后返回的响应状态代码。200的状态意味着成功。

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

  如果有一个未被捕获的异常、语法错误或其他任何东西,Django将返回一个状态代码500,这意味着一个内部服务器错误。现在,假设我们的应用程序有100个视图。如果我们为所有视图编写这个简单的测试,只用一个命令,我们就可以测试是否所有视图都返回成功代码,这样用户在任何地方都看不到任何错误消息。没有自动化测试,我们需要一页一页的检查。

  执行Django的测试套件:

  pythonmanage.pytest

  为alias创建testdatabaseforalias 默认.

  系统检查已识别无问题(0静音)。

  -

  Ran1testin0.041s

  好

  Destroyingtatabaseforalias 默认.现在我们可以测试Django在请求URL时是否返回了正确的视图函数。这也是一个有用的测试,因为随着开发的进行,你会发现urls.py模块可能会变得非常庞大和复杂。URL conf就是解析正则表达式。在某些情况下,有一个非常宽容的URL,所以Django最终可能会返回错误的视图函数。

  我们可以这样做:

  board/tests . py

  fromdjango . core . urlresolversimportreverse

  fromdjango.urlsimportresolve

  fromdjango.testimportTestCase

  from.viewsimporthome

  classHomeTests(测试用例):

  def test _ home _ view _ status _ code(self):

  url=reverse(home )

  response=self.client.get(url)

  铌

  sp;self.assertEquals(response.status_code,200)

  deftest_home_url_resolves_home_view(self):

  view=resolve('/')

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

  再次测试:

  

pythonmanage.pytest

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

 

  

pythonmanage.pytest--verbosity=2

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

 

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

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: