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 ...
随机推荐
- Linux下搭建Zookeeper环境
Zookeeper 是 Google 的 Chubby一个开源的实现,是 Hadoop 的分布式协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等. 其工作原 ...
- 编写可维护的JavaScript----笔记(三)
1.块语句花括号的使用 在JavaScript中,注入if和for语句有两种写法,使用花括号包裹的多行代码或者不使用花括号的单行代码.但强烈建议不论是单行还是多行代码,都应该使用花括号. 2.花括号的 ...
- 第二百一十节,jQuery EasyUI,SearchBox(搜索框)组件
jQuery EasyUI,SearchBox(搜索框)组件 学习要点: 1.加载方式 2.属性列表 3.方法列表 本节课重点了解 EasyUI 中 SearchBox(搜索框)组件的使用方法,这个组 ...
- 2018 ACM-ICPC 北京赛区小结 @ Reconquista
Statistics TYPE: Onsite Contest NAME: 2018 - ICPC Regional - Asia EC - Beijing PLAT: Hihocoder TIME: ...
- 【BZOJ】3016: [Usaco2012 Nov]Clumsy Cows(贪心)
http://www.lydsy.com/JudgeOnline/problem.php?id=3016 之前yy了一个贪心,,,但是错了,,就是枚举前后对应的字符(前面第i个和后面第i个)然后相同答 ...
- Oozie安装与部署
原创文章,转载请注明: 转载自http://www.cnblogs.com/tovin/p/3885162.html 安装基础环境: Hadoop – 2.2.0 Linux – Centos 6. ...
- win10 更新导致 VisualSVN 报0x80041024错错误
主要是WMI丢失,重新注册下就好. 运行cmd.exe, 运行语句:mofcomp "%VISUALSVN_SERVER%WMI\VisualSVNServer.mof" 修复即可 ...
- PANDAS 数据合并与重塑(join/merge篇)
pandas中也常常用到的join 和merge方法 merge pandas的merge方法提供了一种类似于SQL的内存链接操作,官网文档提到它的性能会比其他开源语言的数据操作(例如R)要高效. 和 ...
- 7.解决谷歌的SDK更新失败问题。
问题: 近期谷歌被墙之后,更新SDK老是失败.提示Download interrupted: Connection to https://dl-ssl.google.com refused(下载中断, ...
- Oracle数据库不能创建表空间及表中文乱码问题
1.不能创建表空间问题 datafile为表空间的存放位置,没有将表空间存放路径指定为orcl数据库时,创建表空间出错如下 查看自己的Oracle安装位置,我的Oracle10g安装在虚拟XP系统中, ...