Python一课一练(网站项目做单元测试)
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一课一练(网站项目做单元测试)相关推荐
- python新手项目-推荐:一个适合于Python新手的入门练手项目
原标题:推荐:一个适合于Python新手的入门练手项目 随着人工智能的兴起,国内掀起了一股Python学习热潮,入门级编程语言,大多选择Python,有经验的程序员,也开始学习Python,正所谓是人 ...
- python适合做什么生意_适合Python的5大练手项目,你练了么?
在练手项目的选择上,还存在疑问?不知道要从哪种项目先下手? 首先有两点建议: 最好不要写太应用的程序练手,要思考什么更像是知识,老只会写写爬虫是无用的,但是完全不写也不行. 对于练手的程序,要注意简化 ...
- 适合Python 的5大练手项目,你练了么?
往期好文推荐 0基础不用怕,从0到1轻松教你入门Python python系统学习流线图,教你一步一步学会python 但是在练手项目的选择上,还存在疑问?不知道要从哪种项目先下手? python教程 ...
- 推荐 Python 十大经典练手项目,让你的 Python 技能点全亮!
前言:如果有人问:"Python还火吗?""当然,很火.""哪能火多久呢?""不知道." 技术发展到现在衍生出许多种编程 ...
- 学 Python找不到练手项目?试试这些!
本文转自机器之心,禁止二次转载 作者:Habeeb Shopeju 机器之心编译 参与:高璇 学习 Python 的基础知识是一种美妙的体验.但对于中级 Python 开发人员来说,很多项目要么过难, ...
- 推荐Python十大经典练手项目,让你的Python技能点全亮!
前言:如果有人问:"Python还火吗?""当然,很火.""哪能火多久呢?""不知道." 技术发展到现在衍生出许多种编程 ...
- 给python初学者的最好练手项目-适合初学者练手的 10 个 有趣Python项目
Python Python开发 Python语言 适合初学者练手的 10 个 有趣Python项目 想成为一个优秀的开发者,没有捷径可走,势必要花费大量时间在键盘后. 而不断地进行各种小项目开发,可以 ...
- 一个适合于Python 初学者的入门练手项目
随着人工智能的兴起,国内掀起了一股Python学习热潮,入门级编程语言,大多选择Python,有经验的程序员,也开始学习Python,正所谓是人生苦短,我用Python 有个Python入门练手项目, ...
- 给python初学者的最好练手项目-Python的练手项目有哪些值得推荐?(知乎转载)...
最近几天刚好在整理Python项目,项目由易到难,代码量从几十行到几千行,在实验环境里保证可以全部完成.找到你认为有趣的去实现它,把项目做出来,知识才能变成自己的:) (建议PC端访问,边看教程边在环 ...
最新文章
- [Google Guava] 3-缓存
- Dubbo-go 源码笔记(二)客户端调用过程
- 在Ubuntu 7.04上安装Xfce 4.4.1
- python文件管理
- div固定在浏览器顶部_关于浏览器的兼容问题
- jni 结构体转对象_JVM系列(一)JVM启动流程和基本结构
- 腾讯往事:微信其实就是第四代 QQ 邮箱
- ppt转pdf软件免费版
- wp login.php 打不开,解决wordpress后台无法登录或显示空白的问题
- hdu 4128 Running relay (线性规划转半平面交)
- Mybatis教程(实战看这一篇就够了)
- 闲置手机制作电脑副屏-状态监控(含软件)
- 每日新闻简报 每天三分钟,知晓天下事 一句话新闻早餐
- E波段通信系统参考文献E-band info(整理)
- 360浏览器代码修改浏览模式
- css【详解】grid布局—— 网格布局(栅格布局)
- php unhtml包,JavaScript 版本的 PHP serialize/unse_js
- Uaexpert操作手册
- SEDA源码解读(二)
- Maven依赖详细理解
热门文章
- delphi--csv,txt文本转换成excel .
- 【Java】Java中String、StringBuilder、StringBuffer三者的区别
- 传输层协议的UDP和TCP
- linux 系统自动挂起,linux 系统挂起
- delphi和python比较_Python For Delphi---更好地协同
- php递归算法排序,php全排列递归算法代码
- mysql 游标中实现递归_mysql中实现递归查询?
- 码匠编程:CSS让元素绝对居中,你知道几种方法?
- 6常见的HTML和CSS面试问答
- 为什么选择react?为前端开发选择React的六大理由