Ложечка дёгтя в hamcrest-java

Photo Credit: Froda

Ложечка дёгтя в hamcrest-java

Сегодня короткий пост про грязный хак. Допустим у тебя есть объект-обёртка над коллекцией объектов, которую тебе нужно проверить. Такое обычно случается, когда тестируешь API и работаешь с авто-сгенерированными классами (например, при помощи jaxb). Тогда у тебя получаются примерно такие матчеры. Печаль в том, что последняя строчка этого кода не компилируется из-за особенностей реализации матчеров для коллекций в hamcrest. Я потратил несколько часов на поиск нормального решения, но в итоге закостылил вот так:

assertThat(userContainer, hasUserList((Matcher)hasSize(1)));

Надеюсь, это недоразумение мы скоро исправим :).

comments powered by Disqus