Ruby's Test::Unit
has a nice assert_matches
method that can be used in unit tests to assert that a regex matches a string.
Is there anything like this in JUnit? Currently, I do this:
assertEquals(true, actual.matches(expectedRegex));
If you use assertThat()
with a Hamcrest matcher that tests for regex matches, then if the assertion fails you'll get a nice message that indicates expected pattern and actual text. The assertion will read more fluently also, e.g.
assertThat("FooBarBaz", matchesPattern("^Foo"));
with Hamcrest 2 you can find a matchesPattern
method at MatchesPattern.matchesPattern
.
No other choice that I know. Just checked the assert javadoc to be sure. Just a tiny little change, though:
assertTrue(actual.matches(expectedRegex));
EDIT: I have been using the Hamcrest matchers since pholser's answer, check that out too!
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With