Извините, мы рассматривали возможность предоставления этой функции время от времени, но не нажимали на триггер.
Для начала, это часто делает утверждение более длительным, чем самостоятельная проверка.Сравните:
assertThat(doc.matches(".*the-regex.*")).isTrue();
assertThat(doc).displayedAs("the doc").containsMatch("the-regex");
(Если честно, есть случаи, когда выписать чек самостоятельно не так-то просто.)
И в любом случае, большая часть цели Истины - создавать информативные сообщения об ошибках.В тех случаях, когда у людей есть веские основания опускать эту информацию, они могут прибегнуть к isTrue()
утверждениям.
(Чтобы быть справедливым, сбой isTrue()
в основном приводит к нет полезное сообщение, в то время как вы хотели бы, чтобы «ожидалось, что оно не будет соответствовать: my_regex». Конечно, вы можете добавить его обратно с assertWithMessage
, как вы сказали, но теперь ваше утверждение снова становится длинным,и вы должны повторить «my_regex», если хотите, чтобы оно было в сообщении.)
(Плюс, приятно иметь возможность всегда писать утверждение в идиоматической форме, а не переключаться на неидиоматическую, когдаВы хотите переопределить сообщение.)
Как отмечалось во всех скобках выше, эта функция будет использоваться.«Реальные» проблемы в основном:
- Размер API.Также учтите, что некоторые люди хотят пропустить разные части сообщения, поэтому им может потребоваться более одного метода.
- Люди могут вызвать этот метод по ошибке, случайно выбросив информацию.
Здесь есть запрос связанной функции, который позволяет Truth обрезать значения после определенной длины.На самом деле мы получили обратную связь с жалобами на случаи, в которых мы делаем усечения, поэтому здесь необходимо соблюсти баланс :) Но нам кажется разумным предоставить какой-то настраиваемый предел, возможно, основанный насистемное свойство.Я приглашаю вас подать проблему (и еще одну для «переопределить сообщение об ошибке по умолчанию», если хотите, даже если я подозреваю, что мы этого не сделаем), хотя я должен предупредить вас, чтоследующие квартал или два, вероятно, не увидят много развития Истины.