I have a class that expects some input via 'gets'. I found that, when testing,
I can do something as simple as this:
@foo.stub!(:gets) { "stuff\n" }
However that only works in the most simple case. In my case the class asks a
series of questions that require a yes/no answer culminating in some end state.
The class then asks if the user would like to go through the questions again
and waits for a response of yes/no. If I want to test a single run through the
questions (answering 'yes' to all of them) and I stub 'gets' to always reply
with 'yes' then I have no way of breaking out of the loop. The test I'm
running dies and complains of the stack being too deep.
So, my question is this:
How do folks typically go about testing classes that take input from stdin? I
can post more code if necessary but this is a pretty simple question to which,
I'm sure, there is a reasonable solution.
Thanks!
Justin
_______________________________________________
rspec-users mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/rspec-users