Почему я должен использовать Hamcrest-Matcher и assertThat () вместо традиционного assertXXX () - Методы

Вы можете также Программа uuencode Вы исходные двоичные данные. Этот формат является немного более старым, но он делает то же самое как base63 кодирование.

150
задан Peter Kofler 22 February 2012 в 15:33
поделиться

2 ответа

46
ответ дан 23 November 2019 в 22:20
поделиться

Нет большого преимущества в тех случаях, когда существует assertFoo , который точно соответствует вашему намерению. В этих случаях они ведут себя почти одинаково.

Но когда вы переходите к более сложным проверкам, тогда преимущество становится более заметным:

assertTrue(foo.contains("someValue") && foo.contains("anotherValue"));

по сравнению с

assertThat(foo, hasItems("someValue", "anotherValue"));

. Можно обсудить, какой из них легче читать , но как только assert завершится неудачно, вы получите хорошее сообщение об ошибке от assertThat , но только очень минимальный объем информации от assertTrue .

assertThat сообщит вы, каково было утверждение и что вы получили вместо него. assertTrue сообщит вам только то, что вы получили false , где ожидали true .

170
ответ дан 23 November 2019 в 22:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: