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 ...
随机推荐
- 使用Navicat连接阿里云服务器上的MySQL数据库
1.首先打开Navicat,文件>新建连接> 2,两张连接方法 1>常规中输入数据库的主机名,端口,用户名,密码 这种直接连就可以了 第2种方法: 常规中输入数据库的信息,主机名用l ...
- C# mvc中动态压缩文件发送给前端
前言 帮朋友解决一个C#中发送压缩文件的的问题,因为感觉解释起来更麻烦,就直接用几分钟时间写了个小Demo.本着"走过路过"不错过的原则,也给记录一下. 1.前端代码 非常简单的一 ...
- 快使用阿里云的maven仓库
自从开源中国的maven仓库挂了之后就一直在用国外的仓库,慢得想要砸电脑的心都有了.如果你和我一样受够了国外maven仓库的龟速下载?快试试阿里云提供的maven仓库,从此不在浪费生命…… 仓库地址: ...
- AWS系列-申请MySQL
1.1 打开aws控制台,可以直接搜索MySQL 1.2 打开MySQL(rds)控制面板 点击启动数据库实例(这个只是启动创建的意思,不是启动下面创建好的node.我也不懂为啥翻译过来是这个意思.. ...
- iOS-更新CocoaPods出现错误 提示重复文件
当多人开发的时候,或者引入了一些别人的第三方库文件的时候,当我们再更新CocoaPods时会出现错误,错误提示有一些文件 出现重复,这个时候我们需要查看一些是什么文件出现了重复,错误提示是xxxx三方 ...
- 160628、利用Oracle rownum让表排序字段值连续
利用Oracle rownum让表排序字段值连续 1.需求说明 表(eval_index)中有字段如下: 表字段 描述 说明 ID 主键 GROUP_ID 分组编号 SORT_NUM 排序序号 按照分 ...
- Angular ui-route的用法
ui-router和同属AngularJS框架一部分的ng-route一样强大. ui-router提供了让我们可以做路由嵌套和视图命名的特性,嵌套路由功能主要是依赖$stateProvider服务, ...
- ASP.Net请求处理机制初步探索之旅 - Part 2 核心(转)
开篇:上一篇我们了解了一个请求从客户端发出到服务端接收并转到ASP.Net处理入口的过程,这篇我们开始探索ASP.Net的核心处理部分,借助强大的反编译工具,我们会看到几个熟悉又陌生的名词(类):Ht ...
- 巨蟒python全栈开发-第13天 内置函数 匿名函数lambda
一.今日内容总览 1.内置函数(1):并不是每一个内置函数都是那么常用 上菜:内置函数部分//思维导图:https://www.processon.com/view/link/5b4ee15be4b0 ...
- 找不到Microsoft Access Driver(*.mdb)ODBC驱动程序的安装例程。请重新安装驱动
按照教材创建的方法:“控制面板-管理工具-数据源(ODBC)”,打开“ODBC数据源管理器”窗口,然后“添加”,打开“创建新数据源”的窗口,最后选择Microsoft Access Driver(*. ...