Elemar DEV

Tecnologia e desenvolvimento .net

Conhecendo Microsoft Fakes – Parte 2 de 2 – Stubs

Olá pessoal. Tudo certo?!

No último post, comecei a demonstrar os potenciais desse novo framework de isolamento da Microsoft – começando por Shims. Agora, mostro algo mais “no chão” – falarei sobre Stubs.

Stubs?

Vamos, novamente, recorrer a definição do msdn:

Stub types are one of two technologies that the Microsoft Fakes framework uses to let you easily isolate unit tests from the environment. When you generate a Fakes assembly in a test project, a stub type is created for each non-sealed class and interface in the target assembly that contains virtual or abstract methods, properties, or events. The stub type provides a default implementation for each virtual member and adds a delegate property that you can customize to provide the behavior that you want.

Ou seja, trata-se de um artifício desse framework para criação de Mocks/Stubs (Se não sabe a diferença, recomendo essa excelente explicação do @vquaiato)

É uma “alternativa” para o Moq.

Resgatando o exemplo do último post

Consideremos, novamente, o exemplo do último post:

Assumamos que IOutput tenha esse conteúdo:

O que desejamos testar?

  • O método Write é chamado?
  • As propriedades de Log já estão “setadas” adequadamente?

Os testes

Agora, vamos dar uma olhada no código dos testes:

O que podemos perceber?

  • Como indicado na explicação do MSDN, ao gerar os assemblies fakes, o VS gerou tipos stubs para cada tipo com membros virtuais/abstratos;
  • Podemos criar facilmente “implementações” de teste através de delegates.

Conclusões

Se você já está habituado com Moq, não sentirá vantagem alguma ao adotar Stubs do Microsoft Fakes. Entretanto, se não está habituado com frameworks semelhantes, encontrará aqui uma grande vantagem.

Stubs, diferente de Shims, não ocasionam prejuízos na performance dos testes.

O que você achou do Microsoft Fakes?!

One Comment on “Conhecendo Microsoft Fakes – Parte 2 de 2 – Stubs

  1. alexsandro_xpt
    08/02/2013

    Bem interessante Elemar, ta dizendo quem já tem familiaridade com o Moq não vale apena adotar o Microsoft Fakes?

    E quem está começando a fazer testes assim, qual usar? Moq ou Microsoft Fakes?

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

WordPress.com Logo

Você está comentando usando sua conta WordPress.com. Sair / Mudar )

Imagem do Twitter

Você está comentando usando sua conta Twitter. Sair / Mudar )

Foto do Facebook

Você está comentando usando sua conta Facebook. Sair / Mudar )

Conectando a %s

Informação

Publicado às 22/08/2012 por em Post e marcado , .

Estatísticas

  • 427,408 hits
%d bloggers like this: