Python 跳过测试与预期失败

本文介绍unittest中用于测试跳过和预期故障的四种装饰器:skip, skipIf, skipUnless及expectedFailure的使用方法,并通过示例代码展示了如何在测试用例中应用这些装饰器。

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

运行测试时,有时需要直接跳过某些测试用例,有时当用例符合某个条件时跳过测试用例,或是直接将用例设置为失败的用例。

Unittest提供了下边4种装饰器实现测试跳过和预期故障。

1、unittest.skip( reason )   无条件跳过装饰的测试,说明跳过的原因。   执行输出为:s

2、unittest.skipIf( condition, reason )  当条件为真事,跳过测试,说明原因。 执行输出为:s

3、unittest.skipUnless( condition, reason )  除非条件为真,跳过装饰的测试,说明原因

4、unittest.expectedFailure  不管执行结果是否失败,都标记测试测试为失败。  执行输出:x

例子:

代码如下

#coding=utf-8

import unittest
class MyTest(unittest.TestCase):

	def setup(self):
		pass
	def tearDown(self):
		pass

#跳过测试,执行输出s
	@unittest.skip(u"直接跳过测试")
	def test_skip(self):
		print('Test_a')

	@unittest.skipIf(3>2,u"条件为True时跳过测试")
	def test_skipIf(self):
		print('Test_b')

	@unittest.skipUnless(3 > 2,  u"当条件为true时执行测试")
	def test_skip_Unless(self):
		print('test_c')

	@unittest.expectedFailure()
	def test_expected_failure(self):
		assertEqual(2,3)
	#失败,输出x

#main函数
if __name__=='__main__':
	unittest.main()

执行结果如下:


解释:x 是预期失败的输出,s 是跳过测试

注:我遇见一个低级错误,main函数,if 语句前边有空格,就调用不了函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

释梦燃

你的鼓励是我创作的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值