[rspec-users] mocking the shell command (Kernel module)
Joaquin Rivera Padron
joahking at gmail.com
Sat Sep 13 08:42:28 EDT 2008
hi,
this did the trick:
class Shell
def self.sh command
%{ command }
end
end
then I am able to:
it "should be mock alright" do
Shell.should_receive(...).with(...)
end
is that correct so?
sorry aboout latter one (gotta do something about that hotkeys sendind my
mails all of a sudden)
thanks guys
joaquin
2008/9/13 Joaquin Rivera Padron <joahking at gmail.com>
> hi,
> this did the trick:
>
> class Shell
> def self.sh command
> %{ command }
> end
> end
>
> then I am able to:
>
> it "should be mock alright" do
>
> end
>
> 2008/9/13 Scott Taylor <mailing_lists at railsnewbie.com>
>
>
>> On Sep 12, 2008, at 9:29 AM, Matt Wynne wrote:
>>
>> On 12 Sep 2008, at 14:12, Joaquin Rivera Padron wrote:
>>>
>>> what is the best (or any) way of mocking the running of shell commands?
>>>>
>>>> e.g.
>>>> code like the following:
>>>>
>>>> def method
>>>> %{ ls }
>>>> end
>>>>
>>>> spec:
>>>>
>>>> it "should list the directory contents"
>>>> shell = mock(Object) # %{} lives in Kernel module and its sugar for `
>>>> shell.should_receive(:`).with(:ls)
>>>> end
>>>>
>>>> sorry about latter one, thanks in advance
>>>> joaquin
>>>>
>>>
>>> I suggest you put a 'seam' between your code and the call the Kernel.
>>>
>>
>> That sounds like a good idea. You can also Kernel#` directly (instead of
>> `foo` call Kernel.send(:`, "foo"). This allows you to stub out Kernel#`.
>>
>> Scott
>>
>>
>> _______________________________________________
>> rspec-users mailing list
>> rspec-users at rubyforge.org
>> http://rubyforge.org/mailman/listinfo/rspec-users
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://rubyforge.org/pipermail/rspec-users/attachments/20080913/1a88abd0/attachment.html>
More information about the rspec-users
mailing list