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
.
import static org.assertj.core.api.Assertions.assertThat;
assertThat(actual).matches(expected);