之前分享了一个系列文章,从原理、操作、断言、执行、testsuite来讲解unittest,那么这次就来聊聊usecaseskipping。在实际测试中,我们可能需要跳过测试用例。对于某些用例,我们可能需要跳过某些条件,那么我们应该如何实现呢。importunittestclassTestDemo(unittest.TestCase):defsetUp(self):passdeftearDown(self):passdeftestone(self):self.assertEqual(1,1)#实现很简单。直接跳过@unittest.skip("skip")deftesttwo(self):self.assertEqual(1,1)if__name__=="__main__":unittest.main() 执行结果 除了这个,我们还可以添加一些条件。importunittestclassTestDemo(unittest.TestCase):defsetUp(self):self.a=1passdeftearDown(self):passdeftestone(self):self.assertEqual(1,1)@unittest.skipIf(1==2、'dd')deftesttwo(self):self.assertEqual(1,1)if__name__=="__main__":unittest.main()然后可以看到我们判断了1==2如果wait,我们跳过it,结果肯定是没有跳过,我们可以看一下执行结果,如果是真的,是不是真的跳过了。importunittestclassTestDemo(unittest.TestCase):defsetUp(self):self.a=1passdeftearDown(self):passdeftestone(self):self.assertEqual(1,1)@unittest.skipIf(1==1,'dd')deftesttwo(self):self.assertEqual(1,1)if__name__=="__main__":unittest.main()我们执行一下,看看最后的结果,证明我们的判断是正确的。满意可以跳过去,不满意就执行。所以如果是False就跳过,如何实现。importunittestclassTestDemo(unittest.TestCase):defsetUp(self):self.a=1passdeftearDown(self):passdeftestone(self):self.assertEqual(1,1)@unittest.skipUnless(1==2,'dd')deftesttwo(self):self.assertEqual(1,1)if__name__=="__main__":unittest.main()看看执行结果那么如果不是怎么执行不对,我们看下面的代码importunittestclassTestDemo(unittest.TestCase):defsetUp(self):self.a=1passdeftearDown(self):passdeftestone(self):self.assertEqual(1,1)@unittest.skipUnless(1==1,'dd')deftesttwo(self):self.assertEqual(1,1)if__name__=="__main__":unittest.main()执行结果如果我们要被测试,我们会跳过测试用例不计,如何实现,答案也很简单(self):self.assertEqual(1,1)@unittest.expectedFailuredeftesttwo(self):self.assertEqual(1,2)if__name__=="__main__":unittest.main(),我们执行一下,然后看看importunittestclass如果通过了如何显示TestDemo(unittest.TestCase):defsetUp(self):self.a=1通过deftearDown(self):通过deftestone(self):self.assertEqual(1,1)@unittest.expectedFailuredeftesttwo(self):self.assertEqual(1,1)if__name__=="__main__":unittest.main()执行后结果如下。实际结果会告诉你失败,但是如果通过了,我们可以根据实际需要选择我们要使用的。欢迎关注我的个人公众号
