Я заглушил метод и попросил его вернуть определенное значение. Однако при запуске модульных тестов реальный метод вызывается и возвращает сгенерированное реальное значение.
Т.е. я заглушил метод 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 вызывается при выполнении метода сохранения. Я предполагаю, что из заглушки он должен вернуть 1
Однако он возвращает значение, специфичное для даты, например 2011031100001
, что означает, что он выполняет фактический метод.