Os testes unitários procuram testar classes de um sistema isoladamente, mas de uma maneira em geral, classes em um sistema normalmente alcançam seus objetivos com a ajuda de outras (princípio da delegação). Não funcionam de maneira isolada e freqüentemente se comunicam com outros elementos da aplicação. Sendo assim, ao construir um teste unitário, um dos principais desafios é exatamente isolar a classe que será testada, para que nenhuma outra classe do sistema seja envolvida no teste.
Uma solução eficaz é o uso de mock objects (objetos “de mentira” ou objetos substitutos), que permitem isolar as classes de um sistema de forma bastante simples. Usar um mock object significa que, quando estivermos executando um teste, ao invés de usarmos a classe real, usaremos uma outra, que “finge” ser essa classe, porém mais simples e mais fácil de ser usada durante os testes (além disso, temos total controle sobre ela, pois é criada especificamente para os testes).
Para agilizar o processo de criação de nossos objetos mock, existem alguns frameworks de Mock objects, dentre as quais podemos destacar a Rhino Mocks criada por Ayende Rahien. Outros frameworks: NMock2, TypeMock.Net e EasyMock.Net.
Segundo Eduardo Miranda, o assunto será abordado por ele na próxima edição da revista
Mundo .Net.