测试框架实践--TestFixture

测试框架中的TestFixture用于提供测试方法所需的共用数据或环境配置。本文介绍了setup()和teardown()以及setUpClass()和tearDownClass()这两种Fixture类型,并通过代码示例展示了如何在多线程测试中实现Fixture的共享和线程间变量的传递,从而实现UI自动化或API接口测试框架。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一个测试类,通常有多个测试方法,有时候一个或多个测试方法都需要某些共用的”数据“, 比如说都要访问某个数据库的某张表,比如说都需要起浏览器,都需要调用post方法等。 这个时候每个测试用例单独写就显得很多余,TestFixture就应运而生。

我们先来看下Test Fixture的定义:

A test fixture represents the preparation needed to perform one or more tests, and any associate cleanup actions. This may involve, for example, creating temporary or proxy databases, directories, or starting a server process.

由此可见,Test Fixture用在测试方法前,或者测试方法后,主要功能是提供一些测试需要用的装置,这些装置可以是数据,可以是环境配置也可以是一个运行前状态。

Fixture有下面两种:
1.setup(), teardown()的方式,分别在每个测试方法执行前后执行。
2.setUpClass(), tearDownClass()的方式,分别在每个测试类执行前后执行, setUpClass()和tearDownClass()只会执行一次,即使这个测试类有多个测试函数。

我们在实现这个之前,先看下上次我们实现并发时,真正执行一个测试函数的代码块, 它的代码:

1def f(case):
2 name, func, value = case
3 try:
4 if value:
5 func.__call__(name, *value)
6 else:
7 func.__call__(name)
8 except:
9 # traceback.print_exc()
10 cases_run_fail.append(name)
11 else:
12 cases_run_success.append(name)
13 re
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值