Cuppa makes it easy to test code that may throw checked exceptions (i.e. exceptions that are not subtypes of
RuntimeException
). Tests may throw checked exceptions without needing to declare anything - it just works.
it("throws a checked exception", () -> {
throw new Exception();
});
Cuppa doesn’t include built-in support for expected exceptions (like JUnit’s @Test(expected=Exception.class)
). You
should use the features of your chosen assertion library instead. For example, AssertJ provides the assertThatThrownBy
method:
it("throws an exception", () - {
assertThatThrownBy(() -> {
throw new Exception("boom!");
}).isInstanceOf(Exception.class).hasMessageContaining("boom");
});