novidades sobre testes de unidade com visual studio 2012
DESCRIPTION
Palestra realizada no Visual Studio Summit 2012 que aborda a nova experiência em testes de unidade do Visual Studio 2012. Foram apresentandos o novo Test Explorer, a nova arquitetura da plataforma de testes que permite rodar NUnit,XUnit entre outros frameworks de testes e também foi apresentado no Microsoft Fakes, o novo framework de isolamento de testes da Microsoft.TRANSCRIPT
![Page 1: Novidades sobre Testes de Unidade com Visual Studio 2012](https://reader035.vdocuments.com.br/reader035/viewer/2022062313/557321bbd8b42aae7b8b4d8d/html5/thumbnails/1.jpg)
Visual Studio Summit 2012
André Dias
Novidades sobre Testes de Unidade com Visual Studio 2012
Lambda3Visual Studio ALM MVP Visual Studio ALM Ranger
![Page 2: Novidades sobre Testes de Unidade com Visual Studio 2012](https://reader035.vdocuments.com.br/reader035/viewer/2022062313/557321bbd8b42aae7b8b4d8d/html5/thumbnails/2.jpg)
Visual Studio Summit 2012
Se este é o seu primeiro contato com Testes de Unidade
no Visual Studio, visite: youtube.com/lambda3tv
![Page 3: Novidades sobre Testes de Unidade com Visual Studio 2012](https://reader035.vdocuments.com.br/reader035/viewer/2022062313/557321bbd8b42aae7b8b4d8d/html5/thumbnails/3.jpg)
Visual Studio Summit 2012
A “Unit Testing Experience” do Visual Studio 2012 está focada
nos desenvolvedores escrevendo e executando
testes de unidade enquanto codificam.
![Page 4: Novidades sobre Testes de Unidade com Visual Studio 2012](https://reader035.vdocuments.com.br/reader035/viewer/2022062313/557321bbd8b42aae7b8b4d8d/html5/thumbnails/4.jpg)
Visual Studio Summit 2012
Anos de feedbacks dos clientes• Problemas do MS-Test
Framework– MS-Test é muito lento– Suporte ruim para C/C++– Faltam novas features
• Problemas de Experiência– Desenhado para testers, não
para developers– Não adequado para Agile &
TDD
![Page 5: Novidades sobre Testes de Unidade com Visual Studio 2012](https://reader035.vdocuments.com.br/reader035/viewer/2022062313/557321bbd8b42aae7b8b4d8d/html5/thumbnails/5.jpg)
Visual Studio Summit 2012
Visão Geral da nova janela Test Explorer
Demo
![Page 6: Novidades sobre Testes de Unidade com Visual Studio 2012](https://reader035.vdocuments.com.br/reader035/viewer/2022062313/557321bbd8b42aae7b8b4d8d/html5/thumbnails/6.jpg)
Visual Studio Summit 2012
Experiência focada no DesenvolvedorRed-Green
BarO teste mais
importante aparece primeiro
Tempos
Mostra testes de qualquer
framework
Busca
Detalhes de Execução
![Page 7: Novidades sobre Testes de Unidade com Visual Studio 2012](https://reader035.vdocuments.com.br/reader035/viewer/2022062313/557321bbd8b42aae7b8b4d8d/html5/thumbnails/7.jpg)
Visual Studio Summit 2012
ArquiteturaVisual Studio
Unit Test Explorer
Command Line Runner
TeamBuild Unit Test Activity
Visual Studio Unit Test Platform
MS-Test
Managed
MS-Test
NativeNUnit
xUnit.net
QUnit MORE!
![Page 8: Novidades sobre Testes de Unidade com Visual Studio 2012](https://reader035.vdocuments.com.br/reader035/viewer/2022062313/557321bbd8b42aae7b8b4d8d/html5/thumbnails/8.jpg)
Visual Studio Summit 2012
Use o framework que você quiser• Suporte nativo
– .NET – C/C++
• Plugins de Terceiros– NUnit– xUnit.net– MbUnit– QUnit/Jasmine– SQL Server Unit Testing
• Em desenvolvimento
![Page 9: Novidades sobre Testes de Unidade com Visual Studio 2012](https://reader035.vdocuments.com.br/reader035/viewer/2022062313/557321bbd8b42aae7b8b4d8d/html5/thumbnails/9.jpg)
Visual Studio Summit 2012
• Muitas melhorias de desempenho e escalabidade– Especialmente quando você estiver com o teste de unidade
“clássico”
• Suporte para teste Async
[TestMethod]public async Task MyAsyncTest(){
var result = await SomeLongRunningOperation();Assert.IsTrue( result );
}
• Suporte para 64-bit e .Net multi-targeting
Melhorias no MS-Test
![Page 10: Novidades sobre Testes de Unidade com Visual Studio 2012](https://reader035.vdocuments.com.br/reader035/viewer/2022062313/557321bbd8b42aae7b8b4d8d/html5/thumbnails/10.jpg)
Visual Studio Summit 2012
Testando métodos async com MS-Test
Demo
![Page 11: Novidades sobre Testes de Unidade com Visual Studio 2012](https://reader035.vdocuments.com.br/reader035/viewer/2022062313/557321bbd8b42aae7b8b4d8d/html5/thumbnails/11.jpg)
Visual Studio Summit 2012
Isolamento de código• O novo VS2012 Fakes framework
deixa você isolar praticamente TUDO no .NET
• Fakes vem em dois sabores– Stubs – implementações concretas
de interface ou classes abstratas– Shims – interceptação em runtime
deixa você substituir chamadas, mesmo aquelas do .NET BCL
![Page 12: Novidades sobre Testes de Unidade com Visual Studio 2012](https://reader035.vdocuments.com.br/reader035/viewer/2022062313/557321bbd8b42aae7b8b4d8d/html5/thumbnails/12.jpg)
Visual Studio Summit 2012
Usando Fakes para criar testes de unidade rápidos e isolados
Demo
![Page 13: Novidades sobre Testes de Unidade com Visual Studio 2012](https://reader035.vdocuments.com.br/reader035/viewer/2022062313/557321bbd8b42aae7b8b4d8d/html5/thumbnails/13.jpg)
Visual Studio Summit 2012
Recomendações• Stubs
– Uma extensão natural de estratégias de testes bem conhecidas– Você deveria se sentir bem ao usá-los em seus testes.
• Shims– São incrivelmente poderosos e algumas vezes a única forma de
testar certas coisas… mas são malignos! – Use Shims para conseguir testar o seu código– Mas não pare por aí…– Refatore o seu código para que você não precise mais de
Shims– Então remova-o
![Page 14: Novidades sobre Testes de Unidade com Visual Studio 2012](https://reader035.vdocuments.com.br/reader035/viewer/2022062313/557321bbd8b42aae7b8b4d8d/html5/thumbnails/14.jpg)
Visual Studio Summit 2012
Code coverage no VS 2012• Analise sua cobertura de
código com um simples clique.• Analise um grupo de testes
para ajudar a descobrir como testes específicos estão cobrindo seu Sistema.
• Suporta todos os frameworks gerenciados e nativos
![Page 15: Novidades sobre Testes de Unidade com Visual Studio 2012](https://reader035.vdocuments.com.br/reader035/viewer/2022062313/557321bbd8b42aae7b8b4d8d/html5/thumbnails/15.jpg)
Visual Studio Summit 2012
Code Coverage
Demo
![Page 16: Novidades sobre Testes de Unidade com Visual Studio 2012](https://reader035.vdocuments.com.br/reader035/viewer/2022062313/557321bbd8b42aae7b8b4d8d/html5/thumbnails/16.jpg)
Visual Studio Summit 2012
Team Foundation Build• Se funciona no Visual Studio,
funciona no Team Foundation Build– 3rd party frameworks– Visual Studio Fakes Isolation
Framework– Code Coverage
• Mais…– Hosted Build (Team Build na Nuvem)– Test Impact Analysis
![Page 17: Novidades sobre Testes de Unidade com Visual Studio 2012](https://reader035.vdocuments.com.br/reader035/viewer/2022062313/557321bbd8b42aae7b8b4d8d/html5/thumbnails/17.jpg)
Visual Studio Summit 2012
Testes de Unidade com Team Build na Nuvem
Demo
![Page 18: Novidades sobre Testes de Unidade com Visual Studio 2012](https://reader035.vdocuments.com.br/reader035/viewer/2022062313/557321bbd8b42aae7b8b4d8d/html5/thumbnails/18.jpg)
Visual Studio Summit 2012
Continuous Testing• “Se você não está
executando seus testes de unidade, você está apenas compilando. Você não está building.”
Chris PattersonProgram ManagerTeam Foundation Build
• Run Tests After Build irá rodar seus testes de unidade após cada build com sucesso de sua solução
![Page 19: Novidades sobre Testes de Unidade com Visual Studio 2012](https://reader035.vdocuments.com.br/reader035/viewer/2022062313/557321bbd8b42aae7b8b4d8d/html5/thumbnails/19.jpg)
Visual Studio Summit 2012
Continuous Testing
Demo
![Page 20: Novidades sobre Testes de Unidade com Visual Studio 2012](https://reader035.vdocuments.com.br/reader035/viewer/2022062313/557321bbd8b42aae7b8b4d8d/html5/thumbnails/20.jpg)
Visual Studio Summit 2012
Forte compatibilidade com VS2010• Projetos de Testes do
VS2010 devem funcionar no VS2012 sem qualquer migração (e voltar para o VS 2010)
• O Team Build 2012 pode ser configurado para usar o runner do VS2010 ou o novo VS 2012 runner
![Page 21: Novidades sobre Testes de Unidade com Visual Studio 2012](https://reader035.vdocuments.com.br/reader035/viewer/2022062313/557321bbd8b42aae7b8b4d8d/html5/thumbnails/21.jpg)
Visual Studio Summit 2012
Mas espere, ainda tem mais!• Disponível no Visual Studio
Express 2012– Mesma experiência de testes de
unidade– Sem extensibilidade (3rd party
framework)– Sem continuous test runner– Sem fakes framework
![Page 22: Novidades sobre Testes de Unidade com Visual Studio 2012](https://reader035.vdocuments.com.br/reader035/viewer/2022062313/557321bbd8b42aae7b8b4d8d/html5/thumbnails/22.jpg)
Visual Studio Summit 2012
O que está faltando?
• Test Lists– Modo legado apenas
• Test Impact– Funciona no server, – não no VS Client
• Private accessors– Depreciado no VS 2010,
removido no VS 2012
![Page 23: Novidades sobre Testes de Unidade com Visual Studio 2012](https://reader035.vdocuments.com.br/reader035/viewer/2022062313/557321bbd8b42aae7b8b4d8d/html5/thumbnails/23.jpg)
Visual Studio Summit 2012
A “Unit Testing Experience” do Visual Studio 2012 está focada
nos desenvolvedores escrevendo e executando
testes de unidade enquanto codificam.
![Page 24: Novidades sobre Testes de Unidade com Visual Studio 2012](https://reader035.vdocuments.com.br/reader035/viewer/2022062313/557321bbd8b42aae7b8b4d8d/html5/thumbnails/24.jpg)
Visual Studio Summit 2012
Obrigado!Tem alguma questão agora?– Levante a mão e pergunte!– Vou estar por aí até o fim do evento.
Lembrou de uma questão mais [email protected]@AndreDiasBR
André Dias