require File.dirname(__FILE__) + '/../test_helper' class Object def controller_tests(&block) controller_name = File.basename(eval("__FILE__", block.binding), '.rb').gsub(/_test$/,'') require controller_name unless controller_name == "application_controller" controller = controller_name.camelize.constantize controller.class_eval { def rescue_action(e); raise e; end } test_class = eval "class #{controller}Test < Test::Unit::TestCase; self; end" test_class.class_eval &block test_class.class_eval do define_method :setup do @controller = controller.new @request = ActionController::TestRequest.new @response = ActionController::TestResponse.new end end end end