Я новичок в AssertJ. Я столкнулся с некоторой проблемой, когда использую AssertJ для юнит-тестирования.
- JAVA: версия 8
- AssertJ: 3.11.1
У меня есть исходный код, как показано ниже, чтобы захватить исключение и выдать другое исключение.
try {
Integer.valueOf(valueA);
} catch(Exception e) {
throw new XXXException("value is not valid", e);
}
Мой тестовый пример, как показано ниже, не прошел, и мне сказали, что неправильное исключение утверждает, это немного сбивает с толку.
Throwable thrown = catchThrowable(() -> {
contract.init(ctx, "A", "100A", "B", "200");
});
assertThat(thrown).isInstanceOf(XXXException.class);
Сообщение об ошибке, как показано ниже, похоже, что исходное исключение было захвачено AssertJ. Кто-нибудь может помочь? Это ошибка или моя ошибка использования API AssertJ? Большое спасибо.
java.lang.AssertionError:
Expecting:
<java.util.IllegalFormatConversionException: d != java.lang.String>
to be an instance of:
<xxxx.XXXException>
but was:
<"java.util.IllegalFormatConversionException: d != java.lang.String