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