检查pytest是否提升了预期

时间:2017-03-28 13:31:13

标签: python testing pytest

对于异常测试处理来说,我很想知道如何检查是否引发了断言。

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。

1 个答案:

答案 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

相关问题