Rspec / Capybara: Probar si se llama a un método de controlador

Dado que configuro un HomeController con una acción de índice

class HomeController < ApplicationController
  def index
    @users = User.all
  end
end

y enrutado a través de la ruta raíz,

  root :to => "home#index"

¿Por qué falla esta especificación de solicitud?

it 'should called the home#index action' do
    HomeController.should_receive(:index)
    visit root_path
end

con el siguiente mensaje

 Failure/Error: HomeController.should_receive(:index)
   (<HomeController (class)>).index(any args)
       expected: 1 time
       received: 0 times

? ¿Es porque el método de índice se llama como un método de instancia en lugar de un método de clase?

Respuestas a la pregunta(2)

Su respuesta a la pregunta