unittest指定跳过某些方法
背景:在执行单元测试中,有些方法执行耗时,不想全部执行,想忽略执行,那就需要跳过某方法执行
1.无条件跳过某方法
@unittest.skip("skipping")
2.使用变量的方式,指定忽略测试方法
a=10 @unittest.skipIf(a > 5, "condition is not satisfied!")
表示if a>5为真,就跳过此方法
3.指定测试平台忽略测试方法
@unittest.skipUnless(sys.platform.startswith("Linux"), "requires Linux")
如果不是liunx ,就直接跳过,python可以使用sys,查看自己的平台信息

测试方法
import random
import unittest
import sys
class TestSequenceFunctions(unittest.TestCase):
a = 10
def setUp(self):
self.seq = list(range(10))
@unittest.skip("skipping") # 无条件忽略该测试方法
def test_shuffle(self):
random.shuffle(self.seq)
self.seq.sort()
self.assertEqual(self.seq, list(range(10)))
self.assertRaises(TypeError, random.shuffle, (1, 2, 3))
# 如果变量a > 5,则忽略该测试方法
@unittest.skipIf(a > 5, "condition is not satisfied!")
def test_choice(self):
element = random.choice(self.seq)
self.assertTrue(element in self.seq)
# 除非执行测试用例的平台是Linux平台,否则忽略该测试方法 win32是windows
@unittest.skipUnless(sys.platform.startswith("Linux"), "requires Linux")
def test_sample(self):
with self.assertRaises(ValueError):
random.sample(self.seq, 20)
for element in random.sample(self.seq, 5):
self.assertTrue(element in self.seq)
if __name__ == '__main__':
unittest.main()
测试结果

|
作者:做梦的人(小姐姐) 出处:https://www.cnblogs.com/chongyou/ 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。 如果文中有什么错误,欢迎指出。以免更多的人被误导。 微信号:18582559217 |

浙公网安备 33010602011771号