python:unittest(测试框架)
一,基本概念
- TestCase:所有测试用例的基类
- TestLoad:加载测试用例,返回TestSuite(测试套件)
- TestSuite:创建测试套件
- TextTestRunner:运行测试用例
- TextTestResult:测试结果(包含 运行多少,错误多少,失败多少)
二,创建测试用例类
- 必须继承TestCase
- 测试用例的名字必须以test开头
- 定义setUp和tearDown,在每个测试用例前后做一些辅助工作。
- 一个测试用例应该只测试一个方面,测试目的和测试内容应很明确。主要是调用assertEqual、assertRaises等断言方法判断程序执行结果和预期值是否相符。
- 调用unittest.main()启动自动测试
- 如果测试未通过,会输出相应的错误提示。如果测试全部通过则不显示任何东西,这时可以添加-v参数显示详细信息。
三,有选择的测试
unittest.
skip
(reason)unittest.
skipIf
(condition, reason)unittest.
skipUnless
(condition, reason)unittest.
expectedFailure
()
# coding=utf-8 class testclass: def sum(self , x, y):
return x + y def sub(self , x, y):
return x - y
#coding=utf-8
import unittest
from myclass import myclass class simpleTest(unittest.TestCase):
def setUp(self):
print 'start test.....'
self.tclass=myclass.testclass() def tearDown(self):
print 'end test.....' def testsum(self):
self.assertEqual(self.tclass.sum(1, 2),3,'sum test fail') def testsub(self):
self.assertEqual(self.tclass.sub(2, 1),1, 'sub test fail') if __name__ == '__main__':
# suite=unittest.TestLoader().loadTestsFromTestCase(simpleTest)
# unittest.TextTestRunner.verbosity(2).run(suite) for key in dir(unittest):#查看该模块所有类
print key unittest.main()
#coding=utf-8
import sys
import unittest from myclass import myclass #测试模块中某一个类中的函数
#定义两个测试用例
class mytest(unittest.TestCase):
def setUp(self):
self.tclass=myclass.testclass() def tearDown(self):
pass @unittest.skip("skipping")
def testsum(self):
self.assertEqual(self.tclass.sum(1, 2),3,'test sum fail') @unittest.skipUnless(sys.platform.startswith("win"), "requires Windows")
def testsub(self):
self.assertEqual(self.tclass.sub(2, 1),1,'test sum fail') if __name__ == '__main__':
suite = unittest.TestLoader().loadTestsFromTestCase(mytest)#构建测试套件
# suite = unittest.TestSuite([suite1, suite2]) 可以添加多个套件
result= unittest.TextTestRunner(verbosity=2).run(suite)
print result
python:unittest(测试框架)的更多相关文章
- Python 下的unittest测试框架
unittest测试框架,直接上图吧: data:数据:主要格式为CSV:读取方式:csv.reade: public:封装的模块:通用的模块单独封装,所需参数设置为变量: testcase:测试用例 ...
- Python接口测试实战3(下)- unittest测试框架
如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...
- 基于Python的接口自动化-unittest测试框架和ddt数据驱动
引言 在编写接口自动化用例时,我们一般针对一个接口建立一个.py文件,一条接口测试用例封装为一个函数(方法),但是在批量执行的过程中,如果其中一条出错,后面的用例就无法执行,还有在运行大量的接口测试用 ...
- python利用unittest测试框架组织测试用例的5种方法
利用unittest测试框架可以编写测试用例,执行方式分两大类:利用main方法和利用testsuite,其中利用测试套件来组织测试用例可以有4种写法. 在此之前,先了解几个概念 TestCase:所 ...
- python nose测试框架全面介绍十---用例的跳过
又来写nose了,这次主要介绍nose中的用例跳过应用,之前也有介绍,见python nose测试框架全面介绍四,但介绍的不详细.下面详细解析下 nose自带的SkipTest 先看看nose自带的S ...
- <day002>Selenium基本操作+unittest测试框架
任务1:Selenium基本操作 from selenium import webdriver # 通用选择 from selenium.webdriver.common.by import By # ...
- python nose测试框架全面介绍七--日志相关
引: 之前使用nose框架时,一直使用--logging-config的log文件来生成日志,具体的log配置可见之前python nose测试框架全面介绍四. 但使用一段时间后,发出一个问题,生成的 ...
- python nose测试框架全面介绍六--框架函数别名
之前python nose测试框架全面介绍二中介绍了nose框架的基本构成,但在实际应该中我们也会到setup_function等一系列的名字,查看管网后,我们罗列下nose框架中函数的别名 1.pa ...
- python实例编写(6)--引入unittest测试框架,构造测试集批量测试(以微信统一管理平台为例)
---恢复内容开始--- 一.python单元测试实例介绍 unittest框架又叫PyUnit框架,是python的单元测试框架. 先介绍一个普通的单元测试(不用unittest框架)的实例: 首先 ...
随机推荐
- 图片标签的alt与title区别
一.img标签alt属性 1.alt属性是考虑到不支持图像显示或者图像显示被关闭的浏览器的用户,以及视觉障碍的用户和使用屏幕阅读器的用户.当图片不显示的时候,图片的替换文字. 2.alt属性值得长度必 ...
- Js 通过点击改变css样式
通过js 点击按钮去改变目标原始的背景颜色 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> ...
- asp.net基础概念总结
1 什么是asp.net?asp.net是一种编程语言吗? asp.net是Microsoft公司推出的新一代建立动态web应用程序的开发平台,是一种建立动态web应用程序的新技术. 不是,asp. ...
- WebStorm shortcuts.
- strace 使用
- POJ 2411.Mondriaan's Dream 解题报告
题意: 给出n*m (1≤n.m≤11)的方格棋盘,用1*2的长方形骨牌不重叠地覆盖这个棋盘,求覆盖满的方案数. Solution: 位运算+状态压缩+dp ...
- python3 解析apk图标
有两处值小点,一是如何解压缩,另一个是如何写文件,第二点上我找的是phthon2的代码,一直写文件的时候报不是字符串的问题,将打开方式加上"b“的模式搞定 print文件出来直接删除了,原因 ...
- css伪元素
CSS 伪元素用于向某些选择器设置特殊效果. 1.:first-line 伪元素 "first-line" 伪元素用于向文本的首行设置特殊样式.注意:"first-li ...
- git branch分支管理用法总结
查看分支(远程和本地) 1 查看本地分支: $ git branch 2 查看远程分支: $ git branch -r 3.查看本地和远程分支 $ git branch -a 创建分支 1.创建本地 ...
- python之sys模块
38.python的sys模块: 用于提供对Python解释器相关的操作: 1 2 3 4 5 6 7 8 9 sys.argv 命令行参数List,第一个元素是程序本身路径 sy ...