rspec issues

Hi,

i've started using rspec for this project (latest versions: rspec
1.1.9 and rspec-rails 1.1.9), and i stumbled upon the following
problems:
- render_template:
response.should render_template('new')
i get the following fail
expected "new", got "/Users/elise/Rails/myapp/app/views/user/profiles/
new.html.erb"
So it expects the full path. That can't be right ?

- should be: doesn't give me the result i expect for two strings that
are equal.
assigns['page'].menu.should be("home alone")
gives me
expected "home alone", got "home alone"

- mocking (ok, i'm using mocha, so maybe it isn't rspec): i make a
mailer raise an error like this:
DummyMailer.stubs(:deliver_invitation).raises(Exception)
and in my code, surround this with begin ... rescue, the exception is
not caught !

Any tips ?

Thanks !

Elise

Hi Elise,

- render_template:
response.should render_template('new')
i get the following fail
expected "new", got "/Users/elise/Rails/myapp/app/views/user/profiles/
new.html.erb"
So it expects the full path. That can't be right ?

nope, it expects new and gets the full path instead.
what's your render command?

- should be: doesn't give me the result i expect for two strings that
are equal.
assigns['page'].menu.should be("home alone")
gives me
expected "home alone", got "home alone"

Typical ruby thing. "should be" tests for the two
strings are an identical string object (one and the same thingy in
memory)
use:
assigns['page'].menu.should eql("home alone")

> expected "new", got "/Users/elise/Rails/myapp/app/views/user/profiles/
> new.html.erb"
> So it expects the full path. That can't be right ?

nope, it expects new and gets the full path instead.
what's your render command?

render :action => :new

Typical ruby thing. "should be" tests for the two
strings are an identical string object (one and the same thingy in
memory)
use:
assigns['page'].menu.should eql("home alone")

OK, thanks

Elise

b) makes sense, though it is surprising: I mean developer-defined
errors are usually Exceptions, and should be caught too, no ? I need
to pick up my ruby book again.

Elise

b) makes sense, though it is surprising: I mean developer-defined
errors are usually Exceptions, and should be caught too, no ? I need
to pick up my ruby book again.

Elise

It’s a common developer mistake to derive new exception classes from Exception, rather than StandardError. Such exception classes will not be rescued by a default rescue clause.