hamcrest / PyHamcrest

Hamcrest matchers for Python
http://hamcrest.org/
Other
766 stars 111 forks source link

Potential confusion if error messages contain special chars e.g. parens #227

Open tallus opened 1 year ago

tallus commented 1 year ago
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.