テストで@requestが拡張されていない→携帯のテストができない

超お手軽に対応するにはtest_helper.rbとかに、

class ActionController::TestRequest
  # 環境変数 HTTP_USER_AGENT を返す。                                                                                           
  def user_agent
    env['HTTP_USER_AGENT']
  end
  # 環境変数 HTTP_USER_AGENT を設定する。                                                                                       
  def user_agent=(str)
    self.env["HTTP_USER_AGENT"] = str
  end

  # 携帯電話からであれば +true+を、そうでなければ +false+ を返す。                                                              
  def mobile?
    mobile != nil
  end

  # 携帯電話の機種に応じて Mobile::xxx を返す。                                                                                 
  # 携帯電話でない場合はnilを返す。                                                                                             
  def mobile
    Jpmobile::Mobile.constants.each do |const|
      c = Jpmobile::Mobile.const_get(const)
      return c.new(self) if c::USER_AGENT_REGEXP && user_agent =~ c::USER_AGENT_REGEXP
    end
    nil
  end
end

とかやってれば動く。(適当な解決法なので良い方法ではないです)