Ruby on rails 3 如何测试质量分配错误
似乎我想做与大多数人在测试rails时要求的相反的事情 如何测试ActiveModel::MassAssignmentSecurity::Error。我已经知道了,只是想知道如何使我的测试用例变成绿色而不是红色 当前测试:Ruby on rails 3 如何测试质量分配错误,ruby-on-rails-3,rspec,mass-assignment,Ruby On Rails 3,Rspec,Mass Assignment,似乎我想做与大多数人在测试rails时要求的相反的事情 如何测试ActiveModel::MassAssignmentSecurity::Error。我已经知道了,只是想知道如何使我的测试用例变成绿色而不是红色 当前测试: describe Tag do let(:tag) { FactoryGirl.create(:tag) } subject { tag } describe "when tag name is sent directly" do before { ta
describe Tag do
let(:tag) { FactoryGirl.create(:tag) }
subject { tag }
describe "when tag name is sent directly" do
before { tag = Tag.new(name: "New") } # <- what I want to raise the error
it { should_not be_valid } # <- doesn't make it to this line
end
end
但这对我也不管用,我明白了
Exception encountered: #<NoMethodError: undefined method `raise_error' for #<Class:0x00000102525c08>>
嘎,必须把它放在一个it{}里:
it do
lambda { tag = Tag.new(name: "NEW") }.should raise_error
end
这为我解决了问题
it do
lambda { tag = Tag.new(name: "NEW") }.should raise_error
end