我正在使用Rails 3.2.2。我有一个名为user的设计模型。
在我的用户模型中,我设置了:
attr_protected :is_admin
(is_admin是一个布尔属性)
为了测试我做的这个属性:
test "should not be able to change to admin" do
user = User.create(:name => "Joaquim", :email => "example@test.com", :password => "123456", :is_admin => true)
assert user.errors.get(:is_admin), "Cant change admin configuration"
end
当我运行此测试时出现错误:
1) Error:
test_should_not_be_able_to_change_to_admin(UserTest):
ActiveModel::MassAssignmentSecurity::Error: Can't mass-assign protected attributes: is_admin
test/unit/user_test.rb:44:in `test_should_not_be_able_to_change_to_admin'
我必须使用什么断言进行此测试?
谢谢!
答案 0 :(得分:1)
您可以使用
assert_raise(ExceptionClass) { .... }
在rspec中你做
expect { ... }.to raise_error(ExceptionClass)