Я пишу модельный тест для модели своих приложений, которая accepts_nested_attributes_for(:user)
. Вот тест, который терпит неудачу:Тест Rspec + shoulda терпит неудачу на accept_nested_attributes_for несмотря на отношения
describe UserApplication, "associations" do
it { should belong_to(:user) }
it { should accept_nested_attributes_for(:user) }
end
А вот модель:
class UserApplication < ActiveRecord::Base
#attr_accessible all the fields
belongs_to :user
accepts_nested_attributes_for :user
end
Я использую RSpec с Shoulda-matchers 2.8, и из моего исследования все это должно работать нормально. Никакой весны или какой-либо другой странности. Вот ошибка, которую я вижу:
1) UserApplication association
Failure/Error: it { should accept_nested_attributes_for(:user) }
NoMethodError:
undefined method `accept_nested_attributes_for' for #<RSpec::Core::ExampleGroup::Nested_2:0x007fec5c641a40>
# ./spec/models/user_application_spec.rb:25:in `block (2 levels) in <top (required)>'
Я не уверен, что может быть причиной этого. Может ли это быть какой-то странный конфликт с жемчужиной, или я не вижу чего-то очевидного?
Можете ли вы попытаться обновить свой матчи до последней версии и попробовать еще раз? Невозможно увидеть документы для этой конкретной версии. –
@AnezioCampos. Обновление toa-matcher до 3.0 требует, чтобы я обновил activesupport до 4.0, чего я не могу сделать в настоящий момент, к сожалению. Я застрял на рельсах 3.2 на время. – octopushugs
Этот 'it {должен accept_nested_attributes_for (: user)}' должен быть 'it {должен accepts_nested_attributes_for (: user)}' (вам не хватает 's' на' accepts' ... '' – Hackerman