经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » Django » 查看文章
Django REST framework 单元测试实例解析
来源:jb51  时间:2019/11/7 20:22:14  对本文有异议

这篇文章主要介绍了Django REST framework 单元测试实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

环境

Win10

Python3.7

Django2.2

项目

参照官网 快速开始 写了一个 demo

测试

参照官网 测试

和 Django 的测试差不多

创建 tutorial/tests/tests.py

  1. import json
  2. from django.test import TestCase
  3. from rest_framework import status
  4. from rest_framework.test import APIClient
  5.  
  6. class LittleTestCase(TestCase):
  7. def setUp(self):
  8. self.click = APIClient()
  9.  
  10. def test_users_post(self):
  11. # /users/ POST
  12. data = {
  13. "username": "tom",
  14. "email": "tom@example.com"
  15. }
  16. response = self.client.post("/users/", data)
  17. self.assertEqual(response.status_code, status.HTTP_201_CREATED)
  18.  
  19. # /users/:id GET 地址
  20. response_content = json.loads(response.content)
  21. user_url = response_content["url"]
  22.  
  23. # /users/:id GET 检查新增用户是否符合预期
  24. response = self.client.get(user_url)
  25. response_content = json.loads(response.content)
  26. self.assertEqual(response.status_code, 200)
  27. self.assertEqual("tom", response_content["username"])
  28. self.assertEqual("tom@example.com", response_content["email"])

执行测试

python manage.py test <测试文件所在目录>

  1. python manage.py test tests/

测试结果

执行一个测试成功

测试前创建测试数据库,测试完毕删除数据库

  1. Creating test database for alias 'default'...
  2. System check identified no issues (0 silenced).
  3. .
  4. ----------------------------------------------------------------------
  5. Ran 1 test in 0.022s
  6.  
  7. OK
  8. Destroying test database for alias 'default'...

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持w3xue。

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号