Метод anySatisfy из assertJ глотает фактическое сообщение об ошибке - PullRequest
0 голосов
/ 18 января 2019

Я использую assertJ в своем проекте для хорошей формулировки тестовых утверждений.Я вызываю anySatisfy для коллекции, где я передаю утверждения в лямбда-выражении, которое должно быть выполнено хотя бы для одного из элементов коллекции.

assertThat(myCollection).anySatisfy(myCollectionElement-> { 
    assertThat(myCollectionElement).callAnyAssertionMethod();
    assertThat(myCollectionElement).anotherAssertionMethod();
}

Как только ни один элемент не удовлетворяет требуемым утверждениям, anySatisfy завершается неудачноожидается.

Проблема в том, что вывод консоли затем выглядит следующим образом

java.lang.AssertionError: 
Expecting any element of:
  <allCollectionElementsArSerializedHere>
to satisfy the given assertions requirements but none did.

at myPackage.myTestClass.myTestMethod(MyTestClass.java:xyz)

Заключение Я знаю, что anySatisfy вызывается в строке xyz не удалось, но я не могу получитьзнать, какие конкретные утверждения внутри лямбда не встречаются.Я вижу это только в отладчике.

Как мне добиться ожидаемого вывода журнала?

1 Ответ

0 голосов
/ 19 января 2019

Вы не можете, но мы улучшили allSatisfy, чтобы сообщить о неудовлетворенных требованиях.Мы сделаем то же самое для anySatisfy для следующего выпуска, я создал https://github.com/joel-costigliola/assertj-core/issues/1400 для отслеживания этого.

...