Confuso sul motivo per cui questo metodo RSpec non funziona. Stavo guardando la risposta qui: How to use RSpec's should_raise with any kind of exception? e ho provato tutte le combinazioni proposte, ma per qualche motivo, sto ancora ricevendo un NoMethodError.Seguendo la gestione delle eccezioni di rspec, ottenendo "NoMethodError" per "expect"
Ecco l'eccezione
Exception encountered: #<NoMethodError: undefined method `expect' for #<Class:0x007fa5bd8e4120>>
Ecco il metodo:
describe "admin should not be accesible" do
expect { User.new(name: "Example Name", email: "[email protected]", password: "foobar", password_confirmation: "foobar", admin: "true") }.should raise_error(ActiveModel::MassAssignmentSecurity::Error)
end
ho ottenuto questo errore in precedenza quindi so che il mio metodo sta facendo quello che voglio fare:
1) User admin should not be accesible
Failure/Error: hey = User.new(name: "Hello", email: "[email protected]", password: "foobar", password_confirmation: "foobar", admin: "true")
ActiveModel::MassAssignmentSecurity::Error:
Can't mass-assign protected attributes: admin
Sono in esecuzione:
RSpec 2.1.0 su Rails 3 con guard-spork 0.3.2 e spork 0.9.0
In questo esempio, 'expect {} .should' è stato deprecato, utilizzare' expect {} .to' –