On 4 Mar 2011, at 05:45, Hedge Hog wrote:

> Hi,
> I'm struggling with something that seems to be simple, and I've not
> had any joy following the RSpec books suggestions (p. 187).
> I'd like to test that a method raises and error when a file is not found.
> I've tried adding this in my example just before I call my method, but
> it never seems to get invoked.
> Pathname.stub(:exist?).and_return(false)

That's stubbing a class method. 

exist? is an instance method so you need to stub the specific instance of 
pathname that's being used in your object-under-test, rather than the Pathname 
class.

> 
> The whole example:
> 
>    it "should raise an error if RVM's install root does not exist" do
>       Pathname.stub(:exist?).and_return(false)
>       lambda{ B3::Bdd::Helpers.rvm_path}.should
> raise_error(RuntimeError, "File not found:")
>    end
> 
> Appreciate any tips.
> 
> -- 
> πόλλ' οἶδ ἀλώπηξ, ἀλλ' ἐχῖνος ἓν μέγα
> [The fox knows many things, but the hedgehog knows one big thing.]
>   Archilochus, Greek poet (c. 680 BC – c. 645 BC)
> http://wiki.hedgehogshiatus.com
> _______________________________________________
> rspec-users mailing list
> rspec-users@rubyforge.org
> http://rubyforge.org/mailman/listinfo/rspec-users

cheers,
Matt

m...@mattwynne.net
07974 430184

_______________________________________________
rspec-users mailing list
rspec-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/rspec-users

Reply via email to