11

変更カウント テスト (ラムダなし) を記述する別の方法を見つけようとしています。Rails 3を使用しています。shoulda matcher gemも利用しています

理由 - すべてのテスト ケースが次の形式になっています

describe "some stuff" do
   it { should ... }
 end

しかし、変更回数をテストするために同じパターンに従うことはできません

これが私が持っているものです

describe "some stuff" do
    it "should change count by one" do 
        lambda { ... }.should change(Model, :count).by(1)
    end 
end

書き方はありますか

describe "some stuff" do
   it { should change(Model, :count).by(1) }
 end

どうもありがとう !!

4

2 に答える 2

30
subject { lambda { ... } }

it { should change(Model, :count).by(1) }
于 2012-09-06T19:15:01.067 に答える
5

次のような expect 構文も使用できます。

describe "some stuff" do
  expect { ... }.to change(Model, :count).by(1)
end
于 2013-09-16T16:30:02.393 に答える