недефиниран метод `disallow_value' за #‹RSpec::Core::ExampleGroup::Nested_1:0x0000000a4b3a98›

Имам следното Rspec изявление:

it "requires a valid email address" do
  should disallow_value("@email.com", "email.com", "my@email",
    "my@e_mail.com", "[email protected]", "my @email.com").for(:email)
end

Когато изпълнявам тестовете си, това твърдение винаги се проваля с:

Failure/Error: should disallow_value("@email.com", "email.com", "my@email",
NoMethodError:
   undefined method `disallow_value' for #<RSpec::Core::ExampleGroup::Nested_1:0x000000090ea4a8>

Моите версии на Shoulda са:

shoulda (3.5.0)
shoulda-context (1.1.6)
shoulda-matchers (2.4.0)

Някаква идея какво се обърка?

АКТУАЛИЗАЦИЯ:

Gemfile:

group :development, :test do
  gem 'rspec-rails'
  gem 'factory_girl_rails'
end

group :test do
  gem 'shoulda-matchers'
end

person nullnullnull    schedule 29.12.2013    source източник


Отговори (1)


Това е интересно. файлът README беше пренаписан през ноември 2013 г., за да включва документация за disallow_value, но въпреки DisallowValueMatcher модул, посветен на внедряването такъв съвпад, спецификация за него не включва използване на метода disallow_value. Подадох проблем срещу скъпоценния камък shoulda-matchers

В очакване на повече информация за това бих препоръчал да използвате should_not allow_value като алтернатива.

Актуализация: Това е потвърдено като грешка в документацията от поддържащите shoulda gem.

person Peter Alfvin    schedule 29.12.2013
comment
Добавих съответната част от моя gemfile към въпроса. Изглежда, че е настроен правилно. Някакви други идеи? - person nullnullnull; 29.12.2013
comment
Той е и в групата :development и :test. Определих ги съвместно. - person nullnullnull; 29.12.2013
comment
Благодаря, Питър! Вие наистина сте надхвърлили всичко тук. - person nullnullnull; 30.12.2013
comment
Благодаря ви, че посочихте това. Несъмнено сте спестили много мъка на другите. - person Peter Alfvin; 30.12.2013
comment
Защо беше взето решение за премахването му? Изглежда като полезен начин за изразяване на твърдението и потенциално по-ясен в някои случаи. - person mwfearnley; 28.06.2016