跳过测试
当执行有想要跳过的测试,我们可以通过skip、skipIf、skipUnless装饰器跳过某个测试方法/测试类,或者用TestCase.skipTest()方法跳过某个测试方法。
@unittest.skip(reason):
skip(reason)装饰器,无条件跳过装饰的测试,并说明跳过测试的原因。
@unittest.skipIf(reason):
skipIf(condition,reason)装饰器,条件为真时,跳过装饰的测试,并说明跳过测试的原因。
@unittest.skipUnless(reason):
skipUnless(condition,reason)装饰器,条件为假时,跳过装饰的测试,并说明跳过测试的原因。
@unittest.expectedFailure:测试标记为失败。
1、使用装饰器跳过方法
1、创建IgnoreDemo.py文件,脚本代码:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# 导入unittest模块
import unittest
"""
跳过测试(跳过方法)
"""
# 定义测试类,父类为unittest.TestCase
class TestDemo(unittest.TestCase):
def test_case1(self):
print('test_case1')
# skip无条件跳过
@unittest.skip('跳过用例test_case2')
def test_case2(self):
print('test_case2')
# skipIf当condition为True时跳过
@unittest.skipIf(0>1, '不跳过用例test_case3')
def test_case3(self):
print('test_case3')
# skipIf当condition为True时跳过
@unittest.skipIf(0<1, '跳过用例test_case4')
def test_case4(self):
print('test_case4')
# skipUnless当condition为False时跳过
@unittest.skipUnless(0>1, '跳过用例test_case5')
def test_case5(self):
print('test_case5')
# skipUnless当condition为False时跳过
@unittest.skipUnless(0<1, '不跳过用例test_case6')
def test_case6(self):
print('test_case6')
# 测试标记为失败
@unittest.expectedFailure
def test_case7(self):
print('test_case7')
if __name__ == '__main__':
unittest.main(verbosity=2)
2、执行IgnoreDemo.py文件,运行结果:
test_case1方法执行;
test_case2方法使用skip装饰器,跳过不执行;
test_case3方法使用skipIf装饰器,条件为假,执行;
test_case4方法使用skipIf装饰器,条件为真,跳过不执行;
test_case5方法使用skipUnless装饰器,条件为假,跳过不执行;
test_case6方法使用skipUnless装饰器,条件为真,执行;
test_case7方法使用expectedFailure装饰器,测试标记为失败。
2、使用装饰器跳过类
1、创建IgnoreDemo2.py文件,脚本代码:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# 导入unittest模块
import unittest
"""
跳过测试(跳过类)
"""
# 定义测试类,父类为unittest.TestCase
class TestDemo1(unittest.TestCase):
def test_case1(self):
print('test_case1')
def test_case2(self):
print('test_case2')
@unittest.skip('跳过类TestDemo2')
class TestDemo2(unittest.TestCase):
def test_case3(self):
print('test_case3')
def test_case4(self):
print('test_case4')
if __name__ == '__main__':
unittest.main(verbosity=2)
2、执行IgnoreDemo2.py文件,运行结果:
TestDemo1类执行(执行方法test_case1、test_case2);
TestDemo2类使用skip装饰器,跳过不执行(类里方法test_case3、test_case4也不执行)。
3、使用skipTest()跳过方法
1、创建IgnoreDemo3.py文件,脚本代码:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# 导入unittest模块
import unittest
"""
跳过测试:TestCase.skipTest()方法
"""
# 定义测试类,父类为unittest.TestCase
class TestDemo(unittest.TestCase):
def test_case1(self):
print('test_case1')
# TestCase.skipTest()方法
def test_case2(self):
self.skipTest('跳过用例test_case2')
print('test_case2')
if __name__ == '__main__':
unittest.main(verbosity=2)
2、执行IgnoreDemo3.py文件,运行结果:
test_case1方法执行;
test_case2方法使用TestCase.skipTest()方法,跳过不执行。
本文分享自 AllTests软件测试 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!