Um mock object é um objeto que se comporta como um substituto mais
conveniente que o objeto real. Ele resolve uma dependência importante
para que um teste de unidade possa ser executado, mantendo o máximo de
isolamento. Além disso, freqüentemente é mais fácil instanciar e
configurar um mock de forma apropriada para ser utilizado em um teste.
Em alguns casos, o uso do mock também permite evitar acessos a recursos
mais demorados, como bancos de dados ou recursos na rede. Isso permite
que os testes possam ser executados rapidamente e de forma mais
previsível.
O uso de mock objects é essencial para se obter o nível de isolamento desejável ao se criar testes de unidade. Sem eles, usar testes de unidade pode se tornar não apenas doloroso, mas também inviável. O EasyMock
é uma ferramenta que possibilita a criação de mock objects
dinamicamente, de maneira simples, permitindo que o desenvolvedor tenha
total controle sobre o comportamento dos mocks criados.
Fonte: http://www.desenvolvimentoagil.com.br/xp/praticas/tdd/mock_objects
RSpec:
RSpec is a Behaviour-Driven Development tool for Ruby programmers. BDD is an approach to software development that combines Test-Driven Development, Domain Driven Design, and Acceptance Test-Driven Planning. RSpec helps you do the TDD part of that equation, focusing on the documentation and design aspects of TDD.
Fonte: https://www.relishapp.com/rspec