我已经存根了一个方法并要求它返回一个特定的值。然而,当运行单元测试时,真正的方法被调用并返回一个真正的值生成值。
即我存根方法 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
执行 save 方法时调用方法 get_requisition_number。我假设它应该从存根返回1
。但是,它返回一个特定于日期的值,例如2011031100001
,这意味着它正在运行实际方法。