乐趣区

关于python:Python学习想要学习UnitTest框架确定不看看吗

介绍
作为单元测试的框架,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 技术大本营,获取更多技能与教程。

退出移动版