初识unittest
unittest是python自带的一个标准木块,单元测试框架
unittest基本使用方法:
- 我们需要先导入unittest (import unittest)
import unittest
- 定义一个继承unittest.TestCase的测试用例类
class TestFun(unittest.TestCase):
- 定义setUp和tearDown
def setUp(self):
print 'do before ....'
def tearDown(self):
print 'do after....' - 定义测试用例,以test开头。如testAdd
def testAdd(self):
print 'test add...'
self.assertEqual(2,addNum(1,1)) - 一个测试用例只写一个功能,目标和测试内容需明确。
- 单元测试的加载方式有2种:一种是通过unittest.main()来启动单元测试的测试模块;一种是添加到testsuite集合中再加载所有的被测试对象,而testsuit里存放的就是单元测试的用例
if __name__=="__main__":
suite=unittest.TestLoader.loadTestsFromTestCase(TestFun)
unittest.TextTestRunner(verbosity=2).run(suite)if __name__=="__main__":
unittest.main()
unittest模块的常用方法:
- assertEqual(a, b) a == b
- assertNotEqual(a, b) a != b
- assertTrue(x) bool(x) is True
- assertFalse(x) bool(x) is False
- assertIs(a, b) a is b 2.7
- assertIsNot(a, b) a is not b 2.7
- assertIsNone(x) x is None 2.7
- assertIsNotNone(x) x is not None 2.7
- assertIn(a, b) a in b 2.7
- assertNotIn(a, b) a not in b 2.7
- assertIsInstance(a, b) isinstance(a, b) 2.7
- assertNotIsInstance(a, b) not isinstance(a, b) 2.7
实例代码:
import unittest
def addNum(a,b):
return a+b
def delNum(a,b):
return a-b
class TestFun(unittest.TestCase):
def setUp(self):
print 'do before ....'
def tearDown(self):
print 'do after....'
def testAdd(self):
print 'test add...'
self.assertEqual(2,addNum(1,1))
def testDel(self):
print 'test del'
self.assertEqual(0,delNum(1,1))
if __name__=="__main__":
unittest.main()
初识unittest的更多相关文章
- Selenium(十六):unittest单元测试框架(二) 初识unittest(续)
1. 认识unittest(续) 关于unittest单元测试框架,还有一些问题值得进一步探讨.你可能在前一章的学习过程中产生了一些疑问,也许你会在本节中找到答案. 1.1 用例执行的顺序 用例的执行 ...
- Selenium(十五):unittest单元测试框架(一) 初识unittest
1. 认识unittest 什么是单元测试?单元测试负责对最小的软件设计单元(模块)进行验证,它使用软件设计文档中对模块的描述作为指南,对重要的程序分支进行测试以发现模块中的错误.在python语言下 ...
- 【python接口自动化】初识unittest框架
本文将介绍单元测试的基础版及使用unittest框架的单元测试. 完成以下需求的代码编写,并实现单元测试 账号正确,密码正确,返回{"msg":"账号密码正确,登录成功& ...
- 初识Android App自动化测试框架--Unittest
1.为什么需要使用框架实现自动化测试 作为测试工程师,可能在代码能力上相比开发工程师要弱一点,所以我们在写脚本的时候就会相对容易的碰到更多的问题,如果有一个成熟的框架供给我们使用的话,可以帮助我们避免 ...
- unittest详解(一) unittest初识
unittest是python内置的一个单元测试框架,在学习怎么使用它之前,我们先来了解它的一些概念和原理. Test Case:测试用例,一个TestCase的实例就是一个测试用例.什么是测试用例呢 ...
- python_单元测试unittest
Python自带一个单元测试框架是unittest模块,用它来做单元测试,它里面封装好了一些校验返回的结果方法和一些用例执行前的初始化操作. 步骤1:首先引入unittest模块--import un ...
- Android动画效果之初识Property Animation(属性动画)
前言: 前面两篇介绍了Android的Tween Animation(补间动画) Android动画效果之Tween Animation(补间动画).Frame Animation(逐帧动画)Andr ...
- 初识Hadoop
第一部分: 初识Hadoop 一. 谁说大象不能跳舞 业务数据越来越多,用关系型数据库来存储和处理数据越来越感觉吃力,一个查询或者一个导出,要执行很长 ...
- python学习笔记(基础四:模块初识、pyc和PyCodeObject是什么)
一.模块初识(一) 模块,也叫库.库有标准库第三方库. 注意事项:文件名不能和导入的模块名相同 1. sys模块 import sys print(sys.path) #打印环境变量 print(sy ...
随机推荐
- Android4.0 主线程不能访问网络异常解决办法
从两个方面说下这个问题: 1. 不让访问网络的原因 2. 解决该问题的办法 不让访问网络的原因: 由于对于网络状况的不可预见性,很有可能在网络访问的时候造成阻塞,那么这样一来我们的主线程UI线程 就会 ...
- php中生成标准uuid(guid)的方法
);// "}" return $uuid; }}echo guid();?>
- 自动部署war包脚本
war 包所在路径为:/home/wars/ROOT.war tomcat 所在路径为: ①:/home/search-3 ②:/home/search-4 部署单个war到一个tomcat中 #!/ ...
- MyEclipse配置默认自带的Java代码格式化
1.配置注释一大段代码块后,格式化代码,已经注释的代码仍然保持原样 (1)首先,Window -> Prefrences -> Java -> Code Style -> Fo ...
- selenium webdriver 实现Canvas画布自动化测试
https://blog.csdn.net/xiaoguanyusb/article/details/80324210 由借鉴意义, 转过来 canvas 是一个画布,定位元素时只能定位到画布上,如下 ...
- php 使用fileupload上传多张图片,压缩包
test.php <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...
- Golang指针基本介绍及使用案例
一.指针的相关概念说明 变量:是基本类型,变量存的就是值,也叫值类型 地址:用于引用计算机的内存地址,可理解为内存地址的标签,通俗一点讲就是一间房在小区里的门牌号.如下图① 指针:指针变量存的是一个地 ...
- DDoS防御方案
转自:http://netsecurity.51cto.com/art/201211/368930.htm 深入浅出DDoS攻击防御应对篇:DDoS防御方案 谈到DDoS防御,首先就是要知道到底遭受了 ...
- CentOS7 彻底关闭 IPV6
查看服务监听的IP中是否有IPv6格式的地址 netstat -tuln 如果有tcp6协议的就是有打开ip6 编辑/etc/default/grub,在GRUB_CMDLINE_LINUX加上的后面 ...
- vscode中live server插件的Go Live不显示问题
vscode 的 live server 插件是一个很好用的插件,它会帮使用者自动开启一个服务器,保存的时候便自动刷新浏览器页面 安装完便在 vscode 右下方显示如图 Go Live 字样,点击便 ...