0
点赞
收藏
分享

微信扫一扫

Python单元测试-Unittest(六)

源码之路 2022-03-30 阅读 67

Expected failures装饰符

Expected failures装饰符比较适用于反例测试的场景,明知会出错的,或者异常的测试场景下,会使得我们的测试方法执行失败,同时如果使用此装饰符可以标定测试方法执行结果符合预期,标定为Pass.
以实例来说明Expected failures的用法。代码如下。

import unittest

class TheTestCase(unittest.TestCase):
    
    @unittest.expectedFailure
    def test_method1(self):
        self.assertEqual(1+5,3*3,"两个表达式结果不等")

if __name__ == '__main__':
    unittest.main()

以上代码执行结果如下。
在这里插入图片描述

如果去掉expectedFailure装饰符,那么执行结果如下,发现在没有此装饰符的情况下,执行结果失败。
在这里插入图片描述

如何实现循环执行反例集合

对于Python代码来说,如果遇到错误或异常,会直接报错,然后退出当前程序的执行。如果是要循环执行一些反例时,就会出现有些例子是执行不到的。此时可以利用unittest的subTest()的上下文管理器功能去实现循环执行反例的目的。以如下实例演示用法。

import unittest

class TestSubTest(unittest.TestCase):

    def test_remainder(self):
        """
         0 到 10之间所有整数除以2的余数是否为0
        """
        for i in range(0, 11):
            with self.subTest(i=i):
                self.assertEqual(i % 2, 0)

if __name__ == '__main__':
    unittest.main()
举报

相关推荐

0 条评论