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 <[EMAIL PROTECTED]> > > 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@rubyforge.org > http://rubyforge.org/mailman/listinfo/rspec-users >
_______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users