When catching exceptions in Pytest, sometimes you need to check messages. Since the user sends a pattern for searching, and not a message for exact matching, sometimes similar, but not identical messages pass through the filter. This micro-library contains a function that makes Pytest check exception messages accurately.
It may also be useful to you if you use mutation testing tools such as mutmut.
Install it:
pip install full_match
And use:
import pytest
import full_match
def test_something():
with pytest.raises(AssertionError, match='Regex pattern did not match.'):
with pytest.raises(ValueError, match=full_match('Some message.')):
raise ValueError('XXSome message.XX')
The message in the inner with
block does not match the pattern exactly, so an AssertionError
exception will occur in this example.