美文网首页
python 在单元测试中检查异常情况

python 在单元测试中检查异常情况

作者: 孙广宁 | 来源:发表于2022-06-09 22:25 被阅读0次
    14.3.1 我们编写一个能够快速检测异常情况的单元测试
    • 可以使用assertRaise方法,例如,如果想检查某个函数是否引发了ValueError异常,可以使用以下方法完成
    import unittest
    def parse_int(s):
        return int(s)
    
    class TestConversion(unittest.TestCase):
        def test_bad_int(self):
            self.assertRaises(ValueError,parse_int,'N/A')
    
    • 如果需要以某种方式检查异常的值,可以使用另一种方法
    import errno
    
    class TestIO(unittest.TestCase):
        def test_file_not_found(self):
            try:
                f = open("path/to/file")
            except IOError as e:
                self.assertEqual(e.errno,errno.ENOENT)
            else:
                self.fail("IOError not raise")
    
    • assertRaise 方法提供了一种边界的方法来测试是否有异常出现
    • 我们日常编写代码时的一个常见误区就是手工使用try except来处理异常
    • 这种方法的问题在于容易忘记边界的情况,比如根本就没有产生异常。为了应对这一点
    • 我们要增加assertRaise方法,它会帮我们处理细节,尽量要多使用

    相关文章

      网友评论

          本文标题:python 在单元测试中检查异常情况

          本文链接:https://www.haomeiwen.com/subject/ebcvmrtx.html