在批量执行测试用例时,可能会遇到某些测试用例不需要执行,但又想保留测试代码,除了可以注释掉代码外,unittest框架提供了一个更简便的注解方法来忽略那些暂时不需要执行的测试用例,单元测试框架在执行框架中遇到被标上忽略的注解的用例时自动跳过。忽略测试用例分为无条件忽略和有条件忽略,详见代码。
示例代码:
import random
import unittest
import sys
class TestSequenceFunctions(unittest.TestCase):
a = 1
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)
#除非执行测试用例的平台是windows平台,否则忽