Técnica mock em testes unitários

Uma das áreas mais subestimadas do desenvolvimento de software é, sem dúvida, a área de testes. Desde os primórdios do desenvolvimento de sistemas até os dias de hoje, testes são considerados dispendiosos e algo a ser feito depois (o que frequentemente é postergado até o ponto em que acabam não sendo feitos).

Desenvolvedores tendem a não usar testes, por acharem que muito tempo é gasto e que o custo benefício não compensa. Mas, conforme cada vez mais evoluem as técnicas e teorias por trás do desenvolvimento de software, mais e mais estudos confirmam que sim, vale a pena perder o tempo dispensado aos testes e vão além, sugerem que o desenvolvimento deve ser invertido, primeiro criar os testes e depois implementar o necessário para fazer o teste passar (esse método de desenvolvimento é conhecido como TDD = Test Driven Design).

Realmente o TDD é algo interessante e dá pano pra manga pra muito texto, que vou deixar para o futuro.

O que realmente queria falar neste post, é sobre a técnica de criar objetos “falsos” (objetos Mock) com comportamento igual aos objetos reais do seu sistema e que sejam dependências para seus testes, além de mostrar sua utilidade e aplicabilidade em testes funcionais, introduzindo um framework que auxilia na criação destes objetos Mock.

Continuar lendo