DEV Community

Discussion on: Asserting Exceptions with Pytest

Collapse
 
hhmahmood profile image
hhmahmood

Hi have tried the same solution but still having the problem.

def get_param(param)

if param is None:
raise ValueError('param is not set')

def test_param():
with pytest.raises(ValueError) as e:
get_param()

The problem is that when function does not raise exception, test_param() gets fail with the following error.

Failed: DID NOT RAISE
It works as expected when get_param(param) function throws exception.

Thanks in advance :-)

Collapse
 
wangonya profile image
Kelvin Wangonya

That's the expected behaviour. The test is checking that an exception was raised, so if that doesn't happen, the tests fails.