对于异常测试处理来说,我很想知道如何检查是否引发了断言。
a.py
class SomeError(Exception):
pass
class SomeClass(object):
def __init__(self):
...
raise SomeError
...
test_a.py
from a.a import SomeClass
def test_some_exception_raised():
?
检查SomeError
是否被提出应该有什么断言?我正在使用pytest。
答案 0 :(得分:2)
为了编写有关引发异常的断言,您可以使用pytest.raises
作为上下文管理器,如下所示:
<强> a.py 强>
class SomeError(Exception):
pass
class SomeClass(object):
def __init__(self):
...
raise SomeError("some errror message")
...
<强> test_a.py 强>
from .a import SomeClass, SomeError
import pytest
def test_some_exception_raised():
with pytest.raises(SomeError) as excinfo:
obj = SomeClass()
assert 'some errror message' in str(excinfo.value)
有关异常断言的更多信息,请click here