您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

assertRaises为什么不使用python unittest捕获我的属性错误?

assertRaises为什么不使用python unittest捕获我的属性错误?

我认为是因为assert引发仅接受可赎回。它评估看可调用对象是否引发异常,而不是语句本身是否引发异常。

self.assertRaises(AttributeError, getattr, branch[0], "childrennodes")

应该管用。

编辑:

正如THC4k正确地说的那样,它在收集时收集语句,然后将出错,而不是在测试时。

这也是为什么我喜欢鼻子的原因,它有一个装饰器(提花器),对于这种测试有用且更清晰。

@raises(AttributeError)
def test_1(self)
    branch[0].childrennodes
python 2022/1/1 18:38:30 有232人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶