explorando microsoft fakes

Download Explorando Microsoft Fakes

Post on 24-Apr-2015

1.281 views

Category:

Documents

0 download

Embed Size (px)

DESCRIPTION

 

TRANSCRIPT

  • 1. Explorando Microsoft FakesWaldyr FelixEspecialista em desenvolvimento webMicrosoft MVP e ALM Ranger
  • 2. Porque testar o software Mais segurana nas manutenes Assegurar que o que estava funcionandocontinuar funcionando Garantir que o software est cumprindo todosos requisitos de negcio Melhorar qualidade do cdigo Uso de boas prticas de programao
  • 3. Pr requisitos para habilitar umcdigo para testes Arquitetura bem definida Separao de responsabilidades Usar interfaces Manter os mtodos pequenos
  • 4. Injeo de dependncia Passar a dependncia por parmetro na classe Diminui o acoplamento entre classes Geralmente usa interfaces para fazer isso um tipo de inverso de controle
  • 5. NOInjeo de dependncia
  • 6. Injeo de dependncia
  • 7. Comeando com Microsoft Fakes
  • 8. Stubs Pequeno trecho de cdigo que pode sersubstitudo por outro Geralmente so mtodos de uma interface No teste so criados mtodos fake no lugar daimplementao Serve para isolar o sistema a ser testado Sem stubs sem testes
  • 9. Stubs
  • 10. Criando um Stub com MS Fakes
  • 11. Criando um Stub com MS Fakes
  • 12. Lidando com dependncias queno podem ser isoladas Nem sempre possvel utilizar injeo dedependncia Sistemas legados tambm precisam de testesunitrios Mtodos estticos (static) no podem sertratados como stubs Para estes cenrios temos duas opes...
  • 13. Encapsular a dependncia
  • 14. Usar Shim Types do MS Fakes Torna possvel testar cdigo que antes no eratestvel Intercepta a chamada em runtime parasubstituir o membro Permite testar cdigo que depende dechamadas estticas, classes seladas e atmtodos privados
  • 15. Shim
  • 16. Usando Shim types
  • 17. Cenrio testando ASP.NET MVCDEMO, DEMO, DEMO, DEMO...
  • 18. O guia do Microsoft fakesbit.ly/VsLiBE
  • 19. AgradecimentosWaldyr FelixEspecialista em desenvolvimento webBlog: waldyrfelix.netTwitter: @WaldyrFelixEmail: waldyrfelix@gmail.com