Должны ли сопоставители rspec обеспечить_включение_оф

У меня есть тест с использованием shoulda, который не работает по непонятным мне причинам. Любая идея, что исправить для этого? Я жестко запрограммировал массив для целей тестирования.

Все мои другие тесты, основанные на совпадении, работают нормально.

Проверка

validates_inclusion_of :status, :in => ["Active", "Closed"]

Тестовое задание:

it { should ensure_inclusion_of(:status).in_array(["Active", "Closed"]) }

Отказ

Failure/Error: it { should ensure_inclusion_of(:status).in_array(["Active", "Closed"]) }
   ["Active", "Closed"] doesn't match array in validation

person David R    schedule 23.03.2013    source источник


Ответы (1)


Глядя на исходный код для этого сопоставления:

https://github.com/thoughtbot/shoulda-matchers/blob/master/lib/shoulda/matchers/active_model/ensure_inclusion_of_matcher.rb#L88

У вас есть другая проверка, которая предотвращает нулевые или пустые значения для :status?

person Andy Waite    schedule 24.03.2013
comment
Спасибо. Это похоже на проблему. - person David R; 29.03.2013
comment
код изменился, новая ссылка: github.com/thoughtbot/shoulda-matchers/blob/master/lib/shoulda/ - person Peter P.; 29.04.2014
comment
Ссылка снова изменена: omniref.com/ruby/gems/shoulda-matchers/2.2.0/files/lib/shoulda/ - person BananaNeil; 02.04.2015