Скорее всего, проблема здесь: "404\r\n"
: просто довольно легко получить такие вещи с разрывом строки неправильно .
Таким образом, реальный ответ - избегать таких точных сравнений на равенство. Вместо этого вы могли бы делать
assertThat(actual, contains("whatever"))
где contains()
будет сопоставителем подколенного сухожилия, который проверяет, появляется ли "что угодно" где-то в actual
.
Конечно, недостатком contains()
является то, что он может привести к «ложным срабатываниям», когда соответствующая строка «слишком общая». Но с другой стороны: contains()
также намного более устойчив к изменениям. Когда вы делаете точное сопоставление, здесь табуляция превращается в пробел или дополнительный пробел / перевод строки там нарушает ваше точное совпадение. И особенно при тестировании «веб-вывода», вы должны быть надежным . В противном случае вы будете постоянно обновлять свои тестовые наборы из-за незначительных изменений в выводе.