1

メソッドをスタブ化し、特定の値を返すように要求しました。ただし、単体テストを実行すると、実際のメソッドが呼び出され、実際の値で生成された値が返されます。

つまり、 get_requisition_number メソッドをスタブして値を返しました1が、単体テストを実行すると値が返されます2011031100001

単体テスト コード:

it "should have a unique requisition number when saved" do 
  Requisition.stub(:get_requisition_number).and_return("1")
  req1 = Requisition.new
  req1.save
  req2 = Requisition.new
  lambda { req2.save! }.should raise_error(ActiveRecord::ActiveRecordError)
end

get_requisition_number メソッドは、save メソッドの実行時に呼び出されます。スタブから返されるはずだと思い1ます。ただし、 のような日付固有の値を返します2011031100001。これは、実際のメソッドを実行していることを意味します。

4

1 に答える 1