python 我想使用pytest来测试ValueError是否在类[duplicate]的构造函数中引发

tvz2xvvm  于 2023-09-29  发布在  Python
关注(0)|答案(1)|浏览(96)

此问题已在此处有答案

How do I properly assert that an exception gets raised in pytest?(14个回答)
昨天关门了。
有一个类:

class Foo:
    def __init__(self, bar: int) -> None:
        self.bar = bar
        if self.bar < 0:
            raise ValueError("bar must be positive.")
    
   ...

我想用pytest测试ValueError是否引发,但我不熟悉它,所以我不确定如何编写代码。

import pytest

class TestFoo:

我写不出下一行了。

5vf7fwbs

5vf7fwbs1#

你需要使用pytest.raises来查看给定的块是否引发了给定的异常:

def test_foo_raises_when_instantiating():
    with pytest.raises(ValueError):
        Foo(-1)

相关问题