Existe-t-il un meilleur moyen de vérifier l'existence d'un enregistrement dans RSpec?Comment vérifier avec élégance l'existence d'un enregistrement dans RSpec
Foo.where(bar: 1, baz:2).count.should == 1
Existe-t-il un meilleur moyen de vérifier l'existence d'un enregistrement dans RSpec?Comment vérifier avec élégance l'existence d'un enregistrement dans RSpec
Foo.where(bar: 1, baz:2).count.should == 1
Foo.where(bar: 1, baz: 2).exists?.should be_true
utilisation Foo.exists?(bar: 1, baz: 2).should be_true
Avec Rspec 2.13.0, j'ai pu faire
Foo.where(bar: 1, baz: 2).should exist
Edit:
Rspec a maintenant an expect syntax:
expect(Foo.where(bar: 1, bax: 2)).to exist
'expect (Foo.find_by_bar (1)). À be_present' lorsque vous utilisez des finders – Andrei
Utilisation de la s'attendre à la syntaxe:
expect(Foo.where(bar: 1, baz: 2)).not_to be_empty
expect(Foo.where(bar: 1, baz: 2)).to exist
Pour rspec-rails> 3.0
Avoir un modèle de blog,
describe 'POST #create' do
it "creates a post" do
post :create, :blog => { title: "blog title"}
#returns true if the post was successfully added
expect(Blog.where(title: "blog title")).to be_present
end
end
Pourriez-vous essayer ' Foo.where (barre: 1, baz: 2). Ne devrait pas être vide? – Dogbert