python 测试代码
1、使用print()打印
测试代码最简单的就是添加一些print()语句。然而产品开发中,需要记住自己添加的所有print()语句并在最后删除,很容易出现失误。
2、使用pylint、pyflakes和pep8检查代码
这些包可以检查代码错误和代码风格问题。
- pip install pylint
- pip install pyflakes
style1.py:
a=1
b=2
print(a)
prnt(b)
print(c)
------------------------------
$ pylint style1.py
输出E带头为Error。
- pip install pep8
$ pep8 style1.py
3、使用unittest测试
用于测试代码程序逻辑。
- 确定输入对应的期望输出(断言)
- 传入需要测试的函数,检查返回值和期望输出是否相同,可以使用assert检查。
test_cap.py:
---------------------------
import unittest
from string import capwords
def just_do_it(text):
return text.capitalize()#换成text.title()、capwords(text)
class TestCap(unittest.TestCase):
def setUp(self): #在每个测试方法前执行
pass
def tearDown(self):#在每个测试方法执行后执行
pass
def test_one_word(self):
text='duck'
result=just_do_it(text)
self.assertEqual(result,'Duck')
def test_multiple_words(self):
text='a veritable flock of ducks'
self.assertEqual(result,'A veritable Flock Of Ducks')
def test_words_with_apostrophes(self):
text="I'm fresh out of ideas"
result=just_do_it(text)
self.assertEquals(result,"I'm Fresh Out Of Ideas")
def test_words_with_quotes(self):
text="\"You're despicable,\" said Daffy Duck"
result=just_do_it(text)
self.assertEqual(result,"\"You're Despicable,\" Said Daffy Duck")
if __name__=='__main__':
unittest.main()
4、使用doctest测试
可以把测试写到文档字符串中,也可以起到文档作用。
cap.py:
-------------------------------
def just_do_it(text):
"""
>>>just_do_it('duck')
'Duck'
>>>just_do_it('a veritable flock of ducks')
'A Veritable Flock Of Ducks'
>>>just_do_it("I'm fresh out of ideas")
"I'm Fresh Out Of Ideas"
"""
from string import capwords
return capwords(text) if __name__=='__main__':
import doctest
doctest.testmod()
----------------------------------------------
$ python cap.py -v
5、使用nose测试
和unittest类似,但不需要创建一个包含测试方法的类,任何名称中带有test的函数都会被执行。
test_cap.py:
---------------------------
from nose.tools import eq_
from string import capwords
def just_do_it(text):
return text.capitalize()#换成text.title()、capwords(text)
def test_one_word(self):
text='duck'
result=just_do_it(text)
eq_(result,'Duck')
def test_multiple_words(self):
text='a veritable flock of ducks'
eq_(result,'A veritable Flock Of Ducks')
def test_words_with_apostrophes(self):
text="I'm fresh out of ideas"
result=just_do_it(text)
eq_(result,"I'm Fresh Out Of Ideas")
def test_words_with_quotes(self):
text="\"You're despicable,\" said Daffy Duck"
result=just_do_it(text)
eq_(result,"\"You're Despicable,\" Said Daffy Duck")
----------------------------------------------------
$ nosetests test_op.py
6、其他测试框架
- tox
- py.test
python 测试代码的更多相关文章
- python测试代码
前言: 编写函数或者类时,需要编写测试代码,来保证其的功能运行是否按预期的那样工作.在程序添加新的代码时,用来测试是否会破坏本身的功能. 我们使用python自带的unittest模块来测试代码. 编 ...
- Python 测试代码 初学者笔记
单元测试 每完成一个单元测试,Python都会打印一个字符: 测试通过打印一个句点:测试引发错误打印E:测试导致断言失败打印F 模块unittest import unittest from name ...
- python自动化测试开发利器ulipad最佳实践(可写python测试代码也可编写selenium、Appium等)...
介绍 UliPad是一个国人开发的python轻量级编辑器,导向和灵活的编程器.它如类浏览器,代码自动完成许多功能,如:HTML查看器,目录浏览器,向导等. 下载与安装 下载地址:https://py ...
- GPS坐标(WGS84)转换百度坐标(BD09) python测试
基础知识坐标系说明: WGS84:为一种大地坐标系,也是目前广泛使用的GPS全球卫星定位系统使用的坐标系. GCJ02:是由中国国家测绘局制订的地理信息系统的坐标系统.由WGS84坐标系经加密后的坐标 ...
- Python之unittest测试代码
前言 编写函数或者类时,还可以为其编写测试.通过测试,可确定代码面对各种输入都能够按要求的那样工作. 本次我将介绍如何使用Python模块unittest中的工具来测试代码. 测试函数 首先我们先编写 ...
- 25 【python入门指南】如何编写测试代码
python如何编写测试代码 python内置了unittest,使得写应用层的单元测试变得超乎寻常的简单. 1,执行单个测试函数 #!/bin/python import unittest clas ...
- 基于 webdriver 的测试代码日常调试方python 篇
看到论坛有人写了JAVA的测试代码日常设计,就给大家分享一下偶自己平时是如何测试测试代码的.主要基于python语言.基于 webdriver 的日常调试在 python交互模式下非常方便,打开pyt ...
- selenium+python测试
pip install selenium, 得有图形界面, 这里简单的先演示一个打开浏览器,输入网址的demo,以百度为例 # encoding = utf-8 from selenium impor ...
- 关于python测试webservice接口的视频分享
现在大公司非常流行用python做产品的测试框架,还有对于一些快速原型产品的开发也好,很好地支持OO编程,代码易读.Python的更新挺快的,尤其是第三方库. 对于测试人员,代码基础薄弱,用pytho ...
随机推荐
- tomcat 内存溢出原因分析及解决
一.错误提示:java.lang.OutOfMemoryError: Java heap space [原因分析] tomcat默认可以使用内存为128MB,在较大型的应用项目中不足以满足运行要求,在 ...
- Tutorial : How to Create a Border Glow Effect in JavaFX
http://blog.idrsolutions.com/2014/02/tutorial-create-border-glow-effect-javafx/ ———————————————————— ...
- 谈谈对XML的理解?说明Web应用中Web.xml文件的作用?
谈谈对XML的理解?说明Web应用中Web.xml文件的作用? 解答:XML(Extensible Markup Language)即可扩展标记语言,它与HTML一样,都是SGML(Standard ...
- javascript基础语法及使用
前几年自学过JavaScript,由于从事安卓开发,就放弃了对js的学习,今天又捡起来重新学习了下,希望对大家有所帮助. 首先介绍下什么是JavaScript. JavaScript 是互联网上最流行 ...
- 【SVM】清晰明了的理论文章
http://www.cnblogs.com/jerrylead/archive/2011/03/13/1982639.html 松弛变量和惩罚因子: http://blog.csdn.net/yan ...
- Idea定位打开文件在左边工程中的文件路径
勾选掉Autoscoll from Source
- Django实现组合搜索的方法示例
目录 一.实现方法 二.基本原理 三.代码样例 方法1:纯模板语言实现 方法二:使用simpletag实现 四.其他变化 1.model定义 2.处理函数变化 3.simpletag相应改变 一. ...
- 自定义ScrollView 支持添加头部
自定义ScrollView 支持添加头部并且对头部ImageView支持放大缩小,上滑头部缩小,下滑头部显示放大 使用方式: scrollView = (MyScrollView) findViewB ...
- Duilib教程-非DUI控件
DUILIB并不是真正的DUI,至少有部分控件不是完全DUI的.其实包括: 1.EDIT. 它的实现原理是,CEditUI包含一个窗口CEditWnd,流程如下: 1)鼠标单击,创建窗口见 EditU ...
- 一个Demo展示Storyboard的强大
本文转载至http://www.cocoachina.com/ios/20150330/11440.html 今天我通过完成一个长按cell删除的Demo,向你们展示熟练运用storyboard和Au ...