介绍
作为单元测试的框架,unittest 也是能够对程序最小模块的一种麻利化的测试;利用单元测试框架,创立一个类,该类继承 unittest 的 TestCase,这样能够把每个 case 看成是一个最小的单元,由测试容器组织起来,到时候间接执行,同时引入测试报告。
一、UnitTest 是什么?
unittest 是 Python 单元测试框架,也是 python 的自动测试包
二、UnitTest 的外围因素
1、TestCase:一个 TestCase 办法是一个测试用例,测试用例必须继承 unittest.TestCase
(1)导包:import unittest
(2)class 类名(unittest.TestCase):
def setUp(): 负责测试环境的搭建,个别蕴含实例化 webdriver,最大化、隐式期待、关上 url 等
def tearDown(): 负责测试环境的销毁,个别蕴含退出登录、退出浏览器等
def test_xxx():
(3)留神:
① 测试用例中办法名必须以 test 结尾,否则不会被执行
② 写 main 办法
③ 光标放在代码前面的空白行或者 mian()办法的地位执行
④ 如果把光标放在某一个办法名前面执行,只能执行以后一个办法
⑤ 多个办法,依照办法名 ASCII 的程序执行
2、Test suite:测试套件
(1)把多个测试用例汇合到一起就形成了测试套件
(2)测试套件无奈间接运行
3、Test runner:测试执行
(1)用来执行测试套件
4、TestLoader:用于创立类和模块的测试套件
(1)个别的状况下,使 TestLoader().loadTestsFromTestCase(TestClass)来加载测试类
5、Test fixture:概述
(1)负责测试环境的搭建(初始化)和销毁(革除)
(2)在继承了 unittest.TestCase 的前提下,Fixture = setUp() + tearDown()
(3) setUp():负责测试环境的搭建,个别蕴含实例化 webdriver,最大化、隐式期待、关上 url 等
(4)tearDown(): 负责测试环境的销毁,个别蕴含推出登录、推出浏览器等
(5)每一个 test_xxx()办法被执行之前都会先执行 setUp(),而后在执行 test_xxx()办法,最初执行 tearDown()办法
三、测试套件与测试执行
(1)生成测试套件
① 实例化 TestSuite 一个空的测试套件,给套件增加测试用例(办法)
② addTest(类名(办法名)):增加指定类中的指定办法
③ addTest(unittest.makeSuite(类名)):增加指定类中所有以 test 结尾的办法
(2)执行测试套件
① 实例化 TextTestRunner,而后调用 run()执行测试套件
(3)defaultTestLoader
① 生成测试套件的,能够认为是 TestSuite 的一种非凡的实现形式
② defaultTestLoader 有个办法 discover()可能在执行目录搜寻指定结尾的.py 文件,并把所有测试类中 test 结尾的办法增加到测试套件中
个别,会把套件.py 文件和用例放在同一个目录,否则可能导致截图失败
四、断言
(1)概念:由程序代替认为主动判断理论后果是否合乎预期后果的过程
(2)断言的分类
① 比拟断言
② 根本布尔型断言
③ 简单断言
(3)断言的办法
① assertEqual(arg1, arg2),判断 arg1 == agr2
② assertIn(str1, str2), 判断 str1 是否为 str2 的字串
(4)断言拓展
① 断言失败后续的代码不会被执行 —-> 异样解决
(2)异样解决的格局
try:
可能出现异常的代码
except 异样类型:
捕捉到该异样时执行的代码
raise 抛出异样,让程序报错
else:
没有异样时执行的代码
finally:
有没有异样,都会执行的代码
以上就是本次分享的全部内容,当初想要学习编程的小伙伴欢送关注 Python 技术大本营,获取更多技能与教程。