mi piacerebbe mettere alla prova la mia associazione User
modelli has_many :projects, dependent: :destroy
e sono andato fino a questo punto, per ora:Come testare dipendente:: destroy con RSpec?
it "destroys dependent projects" do
user = FactoryGirl.build(:user)
project = FactoryGirl.build(:project)
user.projects << project
user.destroy
expect(Project.count).to change(-1)
end
ma questo emette un errore:
Failure/Error: expect(Project.count).to change(-1)
ArgumentError:
`change` requires either an object and message (`change(obj, :msg)`) or a block (`change { }`). You passed an object but no message.
quindi presumo che non è change
l'abbinabile giusto, vero? Puoi dirmi come potrei scrivere questo test senza ottenere quell'errore?
sta mostrando errore come metodo non definito dipendente .. – indb
È necessario includere matchers Shoulda in spec_helper: 'richiedere 'Shoulda/matchers ', maggiori informazioni su dipendente: https://github.com/thoughtbot/shoulda-matchers/blob/master/lib/shoulda/matchers/active_record/association_matcher.rb#L147-L182 – santuxus
C'è qualche altra soluzione piuttosto che usare shoulda -matchers gemma? – indb