Testando o intestável com Microsoft Fakes


Este ano acabei herdando a palestra que o meu amigo Bruno Sonnino havia escolhido para o Visual Studio Summit 2015, e é bem curioso, pois o tema fala justamente sobre código legado e eu acabei atuando como um fake do Bruno, o que é sempre um grande desafio.🙂

Pois bem, o Microsoft Fakes é um recurso que nasceu no Microsoft Research, com o nome de Moles, junto com o seu irmão PEX, que recebeu o nome de batismo de IntelliTest.

O objetivo do Fakes é oferecer um mecanismo de isolamento de código para testes unitários, enquanto o IntelliTest funciona como um gerador de testes unitários e massa de dados de teste para o seu código.

A maneira como eles se complementam permite criar um conjunto de testes unitários que facilita o trabalho de Refactoring em código legado, oferecendo ao desenvolvedor um conjunto de testes que garante que as mudanças internas do código não afetam o seu comportamento externo, o que coincide com uma das formas mais puras de descrever o termo Refactoring.

Por ser um tema já bastante explorado, vou me restringir a publicar algumas dicas de links:

Os slides que utilizei estão no SlideShare.

Você pode conhecer um pouco do histórico desses produtos na página do Microsoft Research Pex and Moles – Isolation and White box Unit Testing for .NET.

Uma boa introdução ao assunto foi feita pelo Bruno no artigo Testando o intestável com Microsoft Fakes.

Um dos responsáveis pela evolução dos recursos de Unit Test do Visual Studio é o Peter Provost, e recomendo fortemente a sua apresentação no TechEd de 2012, Testing Un-testable Code with Fakes in Visual Studio 2012.

Ele também explorou o assunto em 3 artigos Visual Studio 11 Fakes Part 1 – Stubs, Visual Studio Fakes Part 2 – Shims e Visual Studio 2012 Fakes – Part 3 – Observing Stub Behavior.

A documentação oficial está disponível em Isolating Code Under Test with Microsoft Fakes.

E para um estudo mais profundo, recomendo fortemente o guia “Better Unit Testing with Microsoft Fakes – v1.2” feito pelo time de Visual Studio ALM Rangers.

Deixe uma resposta

Faça o login usando um destes métodos para comentar:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: