Functional test with exception_notification fails when run with rake, passes when run with Ruby

I’ve got a wierd problem with a functional test that passes when run
individually (‘ruby test/functional/exception_notifier.rb’) but fails
when run as part of ‘rake test:functionals’. I’m testing whether a
broken page is handled by the exception_notification plugin. Using
Mocha (http://agilewebdevelopment.com/plugins/mocha) I set a method
called from a partial to throw a RuntimeError so that
exception_notification will handle it.

The test is as follows:
def test_broken_home
# plan our exception around a failing testimonial call

Testimonial.expects( :active_testimonials ).raises( RuntimeError )

 # make sure we're not seen as a local request
 HomeController.consider_all_requests_local = false

 # count our mails
 base_mails = ActionMailer::Base.deliveries.size
 bg_mails   = ActionMailer::Background.background_deliveries.size

 # get our page
 get :index

 # make sure its an error
 assert_response :error

 # count our mails
 assert_equal base_mails + 1, ActionMailer::Base.deliveries.size
 assert_equal bg_mails,

ActionMailer::Background.background_deliveries.size
end

When run as an individual test everything passes, the exception is
handled a 500 is returned and the appropriate mails are sent. When
called as part of the functional test suite the RuntimeError causes an
error in the test and the response code is 0 with no mails being sent
(I put the get :index in a begin rescue block to check this).

I assume the problem is due either to the environment that rake sets
up that either prevents exception_notification from handling the
exception but I have no ideas at the

Has anyone handled an issue like this before? Any ideas on what to
change?

Farrel

The most likely reason for the difference is you are not declaring a
fixture.