ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

终于有大佬把UnitTest测试框架的应用总结得这么详细!

2021-07-29 22:02:51  阅读:150  来源: 互联网

标签:-% 执行 框架 UnitTest 用例 测试用例 大佬 unittest 测试方法


01.UnitTest测试框架的基本介绍

unittest

unittest 是 Python 单元测试框架,类似于 JUnit 框架 意义: 1. 灵活的组织 ui 自动化 / 接口测试用例 2. 让用例高效的执行 3. 断言:方便验证测试用例的结果 4. 集成 html 形式测试报告 1. 一个 class 继承 unittest.TestCase ,即是一个个具体的 TestCase (测试方法均以 test 开头,否则是不被unittest 识别,执行顺序根据( 0-9 , A-Z,a-z )) 2. 每一个用例执行的结果的标识,成功是 . ,失败是 F ,出错是 E 3. 用 setUp() 、 tearDown() 、 setUpClass() 以及 tearDownClass() 可以在用例执行前布置环境,以及在用例执行后清理环境 4. 参数中加 stream ,可以将报告输出到文件:可以用 HTMLTestRunner 输出 html 报告。 5.3.verbosity 参数可以控制执行结果的输出, 0 是简单报告、 1 是一般报告、 2 是详细报告。 6. 多个单个的测试用例集合在一起,就是 TestSuite

unittest

unittest,TestSuite: 测试套件 unittest.TestLoader :负责根据各种标准加载测试并将他们包装在 TestSuite 中 loadTestsFromNames: 返回给定的一组用例名的测试用例的套件 unittest.TextTestRunner: 运行用例

02.冒烟测试

冒烟测试

'需求: 1. 给用例打标签,只运行某些具有标签的用例 比如我们可以在测试方法名称后加上_smkoe表示这是重要的测试方法,需要在每天进行回归。 关键点是: 在测试方法名后加上标签的名字使用dir(ClassName) 的方式获取该类下所有定义的方法名使用addTest() 动态添加用例 2. 自定义用例的执行顺序,方法长的先执行,短的后执行

03.添加测试报告

集成Html测试报告

time = time.strftime('%Y-%m-%d-%H-%M', time.localtime()) # 获取当前时间 dir = 报告路径 file = open(dir, 'wb') runner = HTMLTestRunner(stream=file,description= 描述信息 ) runner.run(case)

04.断言

断言

方法检查
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
assertIsNot(a, b) a is not b
assertIsNone(x) x is None
assertIsNotNone(x) x is not None
assertIn(a, b) a in b
assertNotIn(a, b) a not in b
assertIsInstance(a, b) isinstance(a,b)
assertNotIsInstance(a, b) not isinstance(a,b)

微信搜一搜【程序员阿沐】关注这个文绉绉的程序员,关注后主页点击【领取资料】有我准备的一线大厂面试资料和简历模板,希望大家都能找到心仪的工作,学习是一条时而郁郁寡欢,时而开怀大笑的路,加油。如果你通过努力成功进入到了心仪的公司,一定不要懈怠放松,职场成长和新技术学习一样,不进则退。如果有幸我们江湖再见!
 

 

标签:-%,执行,框架,UnitTest,用例,测试用例,大佬,unittest,测试方法
来源: https://blog.csdn.net/m0_60126160/article/details/119221356

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有