2013-03-23 2 views
4

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

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

Validation

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 

ответ

3

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

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

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

+0

Спасибо. Это похоже на проблему. –

+0

код изменен, новая ссылка: https://github.com/thoughtbot/shoulda-matchers/blob/master/lib/shoulda/matchers/active_model/ensure_inclusion_of_matcher.rb#L22 –

+0

Ссылка изменена снова: https://www.omniref.com/ruby/gems/shoulda-matchers/2.2.0/files/lib/shoulda/matchers/active_model/ensure_inclusion_of_matcher.rb – BananaNeil

Смежные вопросы