Criando stubs encadeados no RSpec


Leia em menos de um minuto

À partir da versão 1.2.6 do RSpec foi adicionado um método chamado stub_chain que permite criar stubs para chamadas encadeadas de métodos.

describe User do
  it "should return friends count" do
    @user = mock(User)
    @user.stub_chain(:friends, :filtered, :count).and_return(100)

    @user.friends.filtered.count.should == 100
  end
end

Definitivamente, é muito mais simples que o jeito antigo para fazer a mesma coisa!