Моя спецификация хочет проверить, возникает ли определенная подстрока в любой записи массива строк.
p @banner.errors.messages[:base] #=> ["Specify a leader text or an image, not both"]
Все, что моя спецификация действительно хочет знать, так это то, встречается ли строка «not both» в любом из элементов массива.
@banner.errors.messages[:base].should include(/not both/)
терпит неудачу, потому что "not both"
не входит в ["Specify a leader text or an image, not both"]
Примечание. Когда я проверяю на соответствие буквенной строке (должна включать ("Укажите ... оба"), все работает. Но это мне кажется грязным. Такие тексты с пользовательским интерфейсом не важны для прохождения теста; и такие тексты будут меняться: при каждом изменении сообщения об ошибке мне нужно будет обновить свои тесты.