忽略用例
在执行测试脚本的时候,可能会有某几条用例本次不想执行,但又不想删也 不想注释,unittest通过忽略部分测试用例不执行的方式,分无条件忽略和有条 件忽略,通过装饰器实现所描述的场景。
提供的装饰器如下:
@unittest.skip(reason):强制跳转。reason是跳转原因
@unittest.skipIf(condition, reason):condition为True的时候跳转
@unittest.skipUnless(condition, reason):condition为False的时候跳转
@unittest.expectedFailure:标记该测试预期为失败,如果该测试方法运行失败,则该测试不算做失败
代码示例:
# 忽略测试 # 1,测试用例编写还没完成,比如写了一半 # 2,用例已经写好了,但是该模块暂时不能进行测试 import unittest class mytest(unittest.TestCase): def setUp(self): print("我是setUp方法,进行测试前的初始化工作") def tearDown(self) -> None: # 表示该方法没有返回值 print("我是tearDown方法,执行测试后的清除工作") def test_aaa(self): self.assertEqual(4,4) print("我是test_aaa") @unittest.skip("无条件跳过") def test_bbb(self): self.assertEqual(4,4) print("我是test_bbb") @unittest.skipIf(True,"条件为真时跳过") def test_ccc(self): self.assertEqual(4,4) print("我是test_ccc") @unittest.skipUnless(False,"条件为假False则跳过") def test_ddd(self): self.assertEqual(4,4) print("我是test_ddd") @unittest.expectedFailure # 执行失败不计入失败的数量中 def test_fff(self): self.assertEqual(4,40) print("我是test_fff") if __name__ == '__main__': unittest.main()