On Apr 18, 2008, at 5:14 PM, Rick DeNatale wrote:
> Some have probably already discovered this but I've been working
> through some ui stories, using the rails integration test stuff.
>
> I had a story where one very used step was failing in one place. The
> failing expectation looked like this:
>
> response.should have_tag("tr.group_info_row td",group_title)
>
> I wanted to look at the response, but only for the case which was
> failing, so I changed this to:
>
> debugger unless have_tag("tr.group_info_row
> td",group_title).matches?(response)
> response.should have_tag("tr.group_info_row td",group_title)
>
> And rdebug broke right before the expectation would have thrown its
> exception, and I could see the problem, which was an earlier step
> which had checked that the request had redirected without following
> the redirect.
Yeah - I use this all the time. I have a textmate snippet called
debug(tab) which inserts the following:
require "rubygems"; require "ruby-debug"; debugger
This allows me to use it in all sort of contexts - migrations, outside
of rails projects, in failing test cases, etc.
It should be noted that in other languages (like Smalltalk and lisp)
the debugger pops up automatically when a test case fails.
I don't know why this technique has never picked up and become popular.
Scott
_______________________________________________
rspec-users mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/rspec-users