简介unittest作为一个单元测试框架,也是对程序最小模块的敏捷测试;使用单元测试框架创建一个继承unittest的TestCase的类,这样每一个case都可以看作是一个最小的单元,由测试容器组织起来,到时候直接执行,并出测试报告同时推出。1.什么是单元测试?unittest是一个Python单元测试框架,也是python的自动测试包。二、UnitTest的核心要素1、TestCase:一个TestCase方法就是一个测试用例,测试用例必须继承unittest.TestCase(1)importpackage:importunittest(2)class类名(unittest.TestCase):defsetUp():负责搭建测试环境,一般包括实例化webdriver、最大化、隐式等待、打开url等deftearDown():负责销毁测试环境,一般包括注销、退出浏览器等deftest_xxx():(3)注意:①测试用例中的方法名必须以test开头,否则不会执行②编写main方法③将光标放在代码或main()方法后面的空行在位置执行④如果将光标放在某个方法名后面执行,则只能执行当前方法⑤对于多个方法,按照方法名ASCII的顺序执行2.测试套件:测试套件(1)收集多个测试casesinto一起,形成测试套件(2)测试tsuite不能直接运行3、Testrunner:测试执行(1)用于执行测试套件4、TestLoader:测试套件用于创建类和模块(1)一般情况下,使用TestLoader().loadTestsFromTestCase(TestClass)来加载测试类5.测试fixture:概述(1)负责测试环境的设置(初始化)和销毁(清空)(2)在继承unittest.TestCase的前提下,Fixture=setUp()+tearDown()(3)setUp():负责测试环境的构建,一般包括实例化webdriver、最大化、隐式等待、打开url等。(4)tearDown():负责测试环境的销毁,一般包括启动登录、启动浏览器等。(5)在每个test_xxx()方法执行之前,先执行setUp(),然后执行test_xxx()方法,最后执行tearDown()方法。3.测试套件和测试执行(1)生成测试套件①实例化一个TestSuite的空测试套件,向套件中添加一个测试用例(方法)②addTest(类名(方法名)):在指定类③addTest(unittest.makeSuite(classname)):add在指定类中添加所有test开头的方法(2)执行测试套件①实例化TextTestRunner,然后调用run()执行测试套件(3)defaultTestLoader①生成测试套件,可以认为是一个特殊的实现TestSuite②的defaultTestLoader有一个方法discover()可以在执行目录下搜索指定开头的.py文件,将所有测试类中以test开头的方法添加到测试套件中。一般套件.py文件和用例会放在同一个目录下。否则,屏幕截图可能会失败。4、断言(1)概念:用程序代替自动判断实际结果是否满足预期结果的过程(2)断言的分类①比较断言②基本布尔断言③复杂断言(3)断言的方法①assertEqual(arg1,arg2),判断arg1==agr2②assertIn(str1,str2),判断str1是否为str2的字符串(4)断言展开①断言失败后的后续代码不会执行---->异常处理(2)异常处理的格式try:可能发生异常的代码exceptexceptiontype:异常被捕获时执行的代码,引发异常,程序报错else:没有异常时执行的代码exceptionfinally:不管有没有异常,都会执行以上代码就是本次分享的全部内容。欢迎想要学习编程的朋友关注Python技术大本营获取更多技能和教程。
