美文网首页
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