Though my question is pretty straightforward, I failed to find an answer around here:
How can I stub a method and return the parameter itself (for example on a method that does an array-operation)?
Something like this:
interface.stub!(:get_trace).with(<whatever_here>).and_return(<whatever_here>)
Note: The stub method has been deprecated. Please see this answer for the modern way to do this.
stub!
can accept a block. The block receives the parameters; the return value of the block is the return value of the stub:
class Interface
end
describe Interface do
it "should have a stub that returns its argument" do
interface = Interface.new
interface.stub!(:get_trace) do |arg|
arg
end
interface.get_trace(123).should eql 123
end
end