module ActionController::TestCase::Behavior::ClassMethods
def controller_class
def controller_class if current_controller_class = _controller_class current_controller_class else self.controller_class = determine_default_controller_class(name) end end
def controller_class=(new_class)
def controller_class=(new_class) self._controller_class = new_class end
def determine_default_controller_class(name)
def determine_default_controller_class(name) determine_constant_from_test_name(name) do |constant| Class === constant && constant < ActionController::Metal end end
def tests(controller_class)
tests :widget
tests WidgetController
Normalizes +controller_class+ before using.
Sets the controller class name. Useful if the name can't be inferred from test class.
def tests(controller_class) case controller_class when String, Symbol self.controller_class = "#{controller_class.to_s.camelize}Controller".constantize when Class self.controller_class = controller_class else raise ArgumentError, "controller class must be a String, Symbol, or Class" end end