I have wrote a functional test as follows: require File.dirname(__FILE__) + '/../test_helper' class MainControllerTest < ActionController::TestCase def setup @controller = MainController.new @request = ActionController::TestRequest.new @response = ActionController::TestResponse.new end def test_index get :index, {:lang => "en_US", :colors => "grey"} assert_response :success end end And it gets this error: 1) Error: test_index(MainControllerTest): ActionController::RoutingError: No route matches {:lang=>"en_US", :colors=>"grey", :action=>"index", :controller=>"main"} /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/routing.rb:1408:in `generate' /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/routing.rb:1344:in `generate_extras' /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/routing.rb:1340:in `extra_keys' /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/test_process.rb:99:in `assign_parameters' /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/test_process.rb:388:in `process' /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/test_process.rb:364:in `get' ./test/functional/main_controller_test.rb:12:in `test_index' /usr/local/lib/ruby/gems/1.8/gems/activesupport-2.0.2/lib/active_support/testing/default.rb:7:in `run' 1 tests, 0 assertions, 0 failures, 1 errors But defintly, accessing he site using this url: http://127.0.0.1:3000/en_US/grey/main works like a charm... My routes are as follow: map.root :lang => "en_US", :color => "grey", :controller => "main", :action => "index" map.connect ':lang/:color/:controller/:action/:id' map.connect ':lang/:color/:controller/:action/:id.:format' Any idea please ?