unittest框架学习(一)

本文介绍了Python的unittest测试框架,包括unittest的基本概念、编写规范和核心方法如setUp()、tearDown()、setUpClass()和tearDownClass()。此外,还讲解了如何使用unittest.skip()装饰器忽略测试用例,以及测试套件的组织和执行顺序。最后,文章阐述了unittest中的断言操作,用于验证测试结果。
摘要由CSDN通过智能技术生成

1.unittest编写规范

1.unittest介绍

unittest,也可以称为PyUnit,类似于JUnit,用于python项目中,可以用来创建全面的测试套件,可以用于单元自动化测试(模块)、接口自动化测试(接口)、功能自动化测试(UI)等等。
优点:1.支持测试自动化,配置共享和关机代码测试。
2.支持将测试样例聚合到测试集中,并将测试与报告框架独立

官方文档:https://docs.python.org/zh-cn/3.7/library/unittest.html#

unittest具备创建测试用例、测试套件、测试夹具、测试运行期的能力,包括的组件如下:
Test Fixture(测试夹具):表示为了开展一项或多项测试所需要进行的准备工作,以及所有相关的清理操作。举个例子,这可能包含创建临时或代理的数据库、目录,再或者启动一个服务器进程。
Test Case(测试用例):一个测试用例是一个独立的测试单元。它检查输入特定的数据时的响应。
Test Suite(测试套件): 是一系列的测试用例,或测试套件,或两者皆有。它用于归档需要一起执行的测试。
Test Runner(测试运行器):是一个用于执行和输出测试结果的组件。这个运行器可能使用图形接口、文本接口,或返回一个特定的值表示运行测试的结果。

2.unittest编写规范

测试模块需要导入unittest框架
测试类必须继承unittest.TestCase;建议以Test开头
测试方法必须以"test_"开头

2.unittest测试框架结构

2.1 setUp()方法

一个测试用例是从setUp()方法开始执行的,用这个方法在每个测试执行前去执行一些初始化的任务。比如创建浏览器实例,访问URL,加载测试数据和打开 日志文件等。此方法没有参数,不返回任何值。当定义一个setUp()方法,测试执行器在每次执行测试方法之前优先执行该方法。

2.2 teardown()方法

类似于setUp()方法在每个测试方法之前被调用,TestCase类也会测试执行完成后调用tearDown()方法来清理所有的初始化值。一旦测试被执行,在setUp()中定义的值将不再需要,所有最好的在完成的时候清理掉。

2.3 setUpClass()方法

必须使用@classmethod装饰器,所有case运行完之后只运行一次

2.4 tearDownClass()方法

必须使用@classmethod装饰器,所有case运行完之后只运行一次

2.5 unittest.skip()装饰器

当运行用例时,有些用例可能不想执行等,可用装饰器暂时屏蔽该条测试用例。一个常见的用法就是比如说想调试某一个测试用例,想先屏蔽其他用例就可以使用装饰器屏蔽。

3.unittest基本使用

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from time import sleep
import unittest

class TestUnit1(unittest.TestCase):
	def setUp(self):
		#1.self 是类的引用/实例
		#2.全局变量的定义:self.变量名
		self.browser = webdriver.Chrome()
		
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值