gpt4 book ai didi

python - 如何使用 Nose 的assert_raises?

转载 作者:IT老高 更新时间:2023-10-28 20:26:39 25 4
gpt4 key购买 nike

我搜索了文档,但找不到任何文档。有一对没有过多解释。

谁能给我解释一下 Nose 的问题

assert_raises(what should I put here?)

功能及使用方法?

最佳答案

虽然接受的答案是正确的,但我认为 assert_raises 方法有更好的用途。

如果您只是想断言发生了异常,使用 @raises 语法可能更简单、更清晰。

@raises(HTTPError)
def test_exception_is_raised:
call_your_method(p1, p2)

但是,假设您想对引发的异常做更多的事情,例如:我们需要断言引发的 HTTPError 是 401: Unauthorized 类型,而不是 500: Server Error

在这种情况下,上面的语法没有那么有用,我们应该使用 assert_raises 但以不同的方式。如果我们不将 callable 作为第二个参数传递给它,assert_raises 将返回一个上下文,我们可以使用它来进一步测试异常详细信息。

def test_exception_is_raised:
with assert_raises(HTTPError) as cm:
call_your_method(p1, p2)
ex = cm.exception # raised exception is available through exception property of context
ok_(ex.code == 401, 'HTTPError should be Unauthorized!')

关于python - 如何使用 Nose 的assert_raises?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11767938/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com