[rspec-users] how to write spec for infinite loop?

Pat Maddox pergesu at gmail.com
Thu May 29 05:12:52 EDT 2008


On Thu, May 29, 2008 at 12:33 AM, David Chelimsky <dchelimsky at gmail.com> wrote:
> On May 29, 2008, at 12:31 AM, Scott Taylor wrote:
>
>>
>> On May 29, 2008, at 2:25 AM, zuo peng wrote:
>>
>>> Hi,
>>>
>>> I've got trouble when describe infinite loop.
>>>
>>> code snippet:
>>>
>>> def start_loop
>>>  while true
>>>    data = self.server.handle_client
>>>    if data
>>>      self.manager.dispatch(data)
>>>    end
>>>  end
>>> end
>>>
>>> without the loop, it is easy to test the logic.
>>> but how can I describe it to tell the developer ( me :-) ) that there
>>> should be an infinite loop inside.
>>
>> Here's a tip which Aslak gave me several months ago, and I find myself
>> repeating it in many different contexts on this mailing list:
>>
>> One way is with dependency injection:
>>
>> def start_loop(looping_infinitely = true)
>
> :)
>
> I think calling this dependency injection is a bit of a stretch. I agree
> with the approach of having a logical default that you can override in the
> example, but what exactly is the dependency on? true?
>
> Regardless of its name, this is a very good solution to the problem at hand.

If ever there were a time to drop Ruby and start using Java + Guice,
this would be it.

Pat


More information about the rspec-users mailing list