In my application_controller, I have the following set to include the locale with all paths generated by url_for:
def default_url_options(options={})
{
With integration testing, I found that the above monkey patch needs to be different, this is what worked for me (Rails 2.3.4):
class ActionController::Integration::Session
def url_for_with_default_locale(options)
options = { :locale => 'en' }.merge(options)
url_for_without_default_locale(options)
end
alias_method_chain :url_for, :default_locale
end