栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python测试框架unittest

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python测试框架unittest

 

UnitTest主要包含的内容

TestCase 测试用例

TestSuite 测试套件 把多个TestCase集成到一个测试

TestRunner 执行测试用例

TestLoader 自动从代码中加载多个测试用例

Fiture UnitTest特性

TestSuite使用

实例化 suite unittest.TestSuite()

添加用例 suite.addTest(ClassName( MethodName ))

添加扩展 suite.addTest(unittest.makeSuite(ClassName))

执行 使用TextTestRunner执行测试用例和测试套件

实例化 runner unittest.TextTestRunner()

执行 runner.run(suite)

TestLoader 工作常用 更加简单,discover()方法自动查找py,自动加载py文件中方法

使用 suite unittest.TestLoader().discover( 路径 , xxx.py )

runner unittest.TextTestRunner()

runner.run(suite)

TestSuite与TestLoader区别

TestSuite需要手动添加测试用例

TestLoader搜索指定目录下指定开头.py文件 并添加测试类中的所有的测试方法 不能指定添加测试方法

setUp和tearDown的区别

必须继承unittest.TestCase类 setUp、tearDown才是一个Fiture

setUp、tearDown 如果一个类中有多个测试用例 每执行一个测试用例之前会调用一次setUp 之后会调用一次tearDown

setUpClass、tearDownClass 如果一个类中有多个测试用例 执行所有测试用例之前只会调用一次setUpClass 之后只会调用一次tearDownClass

setUpModule、tearDownModule 只有在import导入这个模块时会调用一次setUpModule 模块使用完成之后会调用一次tearDownModule

setUpXXX 一般做初始化工作

tearDownXXX 一般做结束工作

unittest的常用断言方法

assertTrue(expr, msg None) —— 验证expr是否正确

assertFalse(expr, msg None) —— 验证expr是否错误

assertEqual(预期结果 实际结果) —— 验证预期和实际是否一致

assertNotEqual(预期结果 实际结果) —— 验证预期和实际是否不等

assertIsNone() —— 验证是否为空

assertIsNotNone() —— 验证是否不为空

assertIn() —— 验证是否在里面

assertNotIn() —— 验证是否不在里面

unittest参数化

 

使用步骤

导入from parameterized import parameterized

函数装饰器 parameterized.expand([(), ()])

或者设置list1全局变量

或者将list1写在函数里面后调用

unittest跳过

unittest.skip()

注释掉

unittest测试报告

TextTestRunner格式的测试报告

第一步:file open(xxx.txt, w , encoding utf8 )

第二步:

runner TextTestRunner(stream file,verbosity 2)

第三步:runner.run(suite)

第四步:file.close()

HTML版的测试报告

第一步:复制HTMLTestRunner.py文件到项目文件夹

第二步:导入HTMLTestRunner、unittest包

第三步:生成测试套件suite unittest.TestLoader().discover( ./ , test*.py )

第四步:以只写方式打开测试报告文件f open( test01.html , wb )

第五步:实例化HTMLTestRunner对象

runner HTMLTestRunner(stream f,title 自动化测试报告 , description Chrome浏览器 )

stream ---- open函数打开的文件流

title ---- 报告标题

第六步:执行runner.run(suite)

第七步:关闭文件f.close()

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/266840.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号