pytest.raises 通过错误异常

在以下示例中,我希望测试在expecting=时失败NotImplementedError。


import pytest

def fun():

    raise ValueError()


@pytest.mark.parametrize("expecting", [

    (ValueError),

    (NotImplementedError)

])

def test_something( expecting):

    with pytest.raises(ValueError):

        fun()

但是,它通过了:


test_something[ValueError] PASSED

test_something[NotImplementedError] PASSED

为什么会出现这种行为,正确的用法是什么?


弑天下
浏览 366回答 1
1回答

ABOUTYOU

您的测试对expecting. 你写了with pytest.raises(ValueError):,所以 pytest 一直在寻找ValueError,这就是fun()引发的原因。也许你打算改写with pytest.raises(expecting):?
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python