2019独角兽企业重金招聘Python工程师标准>>>

过了一个周末而已,整个人都放松了,代码也忘得差不多了,不过闲着没事看了看两天中国通史,汉朝之前的历史终于差不多能数清楚了,看下来总的感觉,人心其实一直不古,以史为鉴说来也有些意义。 今天的总结是网站项目的单元测试,会用到五个文件,除了上一练Python一课一练(表单提交)用到的三个文件(app3.py,hello_form3.html,index3.html),我们需要在tests目录下新建两个文件app3_tests.py(app3.py的测试文件),tools3.py(app3_tests.py文件会用到里边的工具类):

**************************app3_tests.py
# -*- coding: utf-8 -*-
# 注意导包格式,此处把app3.py里的app对象和tools2里的assert_response方法也导入进来了
from nose.tools import *
from tests.tools3 import assert_response
from bin.app3 import appdef test_index():# 此处是测试链接不通的情况下,效果是否和预期一致resp = app.request("/")assert_response(resp, status = '404')# 此处是测试GET链接正常的情况下,返回的数据是否正常resp = app.request('/hello')assert_response(resp)# 此处是测试默认返回的数据是否是预期数据resp = app.request('/hello', method = 'POST')assert_response(resp, contains = "NoContent")# 测试当我们输入数据以后,是否返回预期数据data = {'content': 'textcontent', 'name': 'lw'}resp = app.request('/hello', method = 'POST', data = data)assert_response(resp, contains = 'lw')# GET和POST方法区别通过以上的测试也可以得出来,GET会改变链接的格式 http://XXX.XXX.com/?content=333&name=lw,POST则不会**************************tools3.py
# -*- coding: utf-8 -*-
from nose.tools import *
import redef assert_response(resp, contains = None, matches = None, headers = None, status = '200'):# 此处对应的是resp.status参数assert status in resp.status, "Excepted respon %r not in %r" % (status, resp.status)if status == '200':assert resp.data, "Response is empty"if contains:assert contains in resp.data, "Response doesn't contain %contains" % containsif matches:reg = re.compile(matches)assert reg.matches(resp.data), "Respon doesnt match %r" % matchif headers:assert_equal(resp.headers, headers)

转载于:https://my.oschina.net/lengwei/blog/811849

Python一课一练(网站项目做单元测试)相关推荐

  1. python新手项目-推荐:一个适合于Python新手的入门练手项目

    原标题:推荐:一个适合于Python新手的入门练手项目 随着人工智能的兴起,国内掀起了一股Python学习热潮,入门级编程语言,大多选择Python,有经验的程序员,也开始学习Python,正所谓是人 ...

  2. python适合做什么生意_适合Python的5大练手项目,你练了么?

    在练手项目的选择上,还存在疑问?不知道要从哪种项目先下手? 首先有两点建议: 最好不要写太应用的程序练手,要思考什么更像是知识,老只会写写爬虫是无用的,但是完全不写也不行. 对于练手的程序,要注意简化 ...

  3. 适合Python 的5大练手项目,你练了么?

    往期好文推荐 0基础不用怕,从0到1轻松教你入门Python python系统学习流线图,教你一步一步学会python 但是在练手项目的选择上,还存在疑问?不知道要从哪种项目先下手? python教程 ...

  4. 推荐 Python 十大经典练手项目,让你的 Python 技能点全亮!

    前言:如果有人问:"Python还火吗?""当然,很火.""哪能火多久呢?""不知道." 技术发展到现在衍生出许多种编程 ...

  5. 学 Python找不到练手项目?试试这些!

    本文转自机器之心,禁止二次转载 作者:Habeeb Shopeju 机器之心编译 参与:高璇 学习 Python 的基础知识是一种美妙的体验.但对于中级 Python 开发人员来说,很多项目要么过难, ...

  6. 推荐Python十大经典练手项目,让你的Python技能点全亮!

    前言:如果有人问:"Python还火吗?""当然,很火.""哪能火多久呢?""不知道." 技术发展到现在衍生出许多种编程 ...

  7. 给python初学者的最好练手项目-适合初学者练手的 10 个 有趣Python项目

    Python Python开发 Python语言 适合初学者练手的 10 个 有趣Python项目 想成为一个优秀的开发者,没有捷径可走,势必要花费大量时间在键盘后. 而不断地进行各种小项目开发,可以 ...

  8. 一个适合于Python 初学者的入门练手项目

    随着人工智能的兴起,国内掀起了一股Python学习热潮,入门级编程语言,大多选择Python,有经验的程序员,也开始学习Python,正所谓是人生苦短,我用Python 有个Python入门练手项目, ...

  9. 给python初学者的最好练手项目-Python的练手项目有哪些值得推荐?(知乎转载)...

    最近几天刚好在整理Python项目,项目由易到难,代码量从几十行到几千行,在实验环境里保证可以全部完成.找到你认为有趣的去实现它,把项目做出来,知识才能变成自己的:) (建议PC端访问,边看教程边在环 ...

最新文章

  1. [Google Guava] 3-缓存
  2. Dubbo-go 源码笔记(二)客户端调用过程
  3. 在Ubuntu 7.04上安装Xfce 4.4.1
  4. python文件管理
  5. div固定在浏览器顶部_关于浏览器的兼容问题
  6. jni 结构体转对象_JVM系列(一)JVM启动流程和基本结构
  7. 腾讯往事:微信其实就是第四代 QQ 邮箱
  8. ppt转pdf软件免费版
  9. wp login.php 打不开,解决wordpress后台无法登录或显示空白的问题
  10. hdu 4128 Running relay (线性规划转半平面交)
  11. Mybatis教程(实战看这一篇就够了)
  12. 闲置手机制作电脑副屏-状态监控(含软件)
  13. 每日新闻简报 每天三分钟,知晓天下事 一句话新闻早餐
  14. E波段通信系统参考文献E-band info(整理)
  15. 360浏览器代码修改浏览模式
  16. css【详解】grid布局—— 网格布局(栅格布局)
  17. php unhtml包,JavaScript 版本的 PHP serialize/unse_js
  18. Uaexpert操作手册
  19. SEDA源码解读(二)
  20. Maven依赖详细理解

热门文章

  1. delphi--csv,txt文本转换成excel .
  2. 【Java】Java中String、StringBuilder、StringBuffer三者的区别
  3. 传输层协议的UDP和TCP
  4. linux 系统自动挂起,linux 系统挂起
  5. delphi和python比较_Python For Delphi---更好地协同
  6. php递归算法排序,php全排列递归算法代码
  7. mysql 游标中实现递归_mysql中实现递归查询?
  8. 码匠编程:CSS让元素绝对居中,你知道几种方法?
  9. 6常见的HTML和CSS面试问答
  10. 为什么选择react?为前端开发选择React的六大理由