我有这个管理员模型测试,我得到了这个结果和错误。问题是什么,如何修复它 的 admin_user_spec.rb
require 'spec_helper'
describe AdminUser do
it { should allow_mass_assignment_of(:email) }
it { should allow_mass_assignment_of(:password) }
it { should allow_mass_assignment_of(:password_confirmation) }
it { should allow_mass_assignment_of(:remember_me) }
end
结果:
1) AdminUser
Failure/Error: it { should allow_mass_assignment_of(:password) }
NoMethodError:
undefined method `allow_mass_assignment_of' for #<RSpec::Core::ExampleGroup::Nested_1:0x007f8d58d5d3a0>
# ./spec/models/admin_user_spec.rb:6:in `block (2 levels) in <top (required)>'
AdminUser.rb
class AdminUser < ActiveRecord::Base
# Include default devise modules. Others available are:
# :token_authenticatable, :confirmable, :lockable and :timeoutable
devise :database_authenticatable, :trackable
# :timeoutable, :lockable
# Setup accessible (or protected) attributes for your model
attr_accessible :email, :password, :password_confirmation, :remember_me
# after_create { |admin| admin.send_reset_password_instructions }
# def password_required?
# new_record? ? false : super
# end
end
答案 0 :(得分:0)
试试......
require 'spec_helper'
describe AdminUser do
it { should allow_mass_assignment_of(:email) }
it { should allow_mass_assignment_of(:password).as(:admin) }
it { should allow_mass_assignment_of(:password_confirmation) }
it { should allow_mass_assignment_of(:remember_me) }
end
答案 1 :(得分:0)
尝试添加
require 'shoulda-matchers'
require 'shoulda/matchers/integrations/rspec'
位于spec_helper.rb
的顶部答案 2 :(得分:0)
我添加了
require 'shoulda/integrations/rspec2'
以上
require 'rspec/rails'
在 spec_helper.rb 中,问题已解决