PyHamcrest
PyHamcrest copied to clipboard
Potential confusion if error messages contain special chars e.g. parens
def raise_error():
raise AssertionError("Message with (parens)")
assert_that(calling(raise_error), raises(AssertionError, "Message with (parens)")
will fail with Correct assertion type raised, but the expected pattern ("Message with (parens)") not found. Exception message was: "Message with (parens)"
which is a somewhat confusing message.
#226 resolves this by ensuring a regex mismatch only occurs if the pattern is not also a literal match for the error.