Unit Tests (Sérgio Igarashi)

22

Transcript of Unit Tests (Sérgio Igarashi)

Unit tests Sérgio Igarashi

It should be done

"Unit testing is a tool, just like any other tool. Its purpose is to make us better at our jobs, which is to produce robust, maintainable software." THOMPSON, Matt, 2013.

Agenda

● Sobre seu projeto

● Testar: Por que, O que, Como, ???

● Quick & Nimble

● Tips

● Referências

Sobre...seu projeto

"Ah, a gente precisava entregar o app, ai acabou despriorizando os testes."

Sobre

1. Quem faz ?

2. Quanto é a cobertura mínima ?

3. Quebra build ?

4. Quem não concorda ou tem alguma oposição ?

5. Quem não entende ?

Intro

"Então...é que o problema é que eu não sei o que testar. "

FAQ: Testar

1. Por quê ?

2. O quê ?

3. Como ?

Você sabia ?

Por quê Testar ?

● Integridade;

● Policiamento;

● Manutenibilidade;

● Documentação;

O quê Testar ?

"You should test every line of code that you write." LISLE, Ron. 2013

Como testar ?

● Abstraia dependências externas ao seu código;

● Pense em asserções;

● Especifique o que você está testando dentro do contexto;

● REFATORE;

Quick & Nimble

"Programmers wanted to know where to start, what to test, and what not to test, how much to test in one go, what to call their tests and how to understand why a test fails." NORTH, Dan, 2016.

Quick

● Framework BDD;

● Provê agrupamentos de contexto;

● Apoia na escrita "clara" de testes;

● Dev-friendly para testes assíncronos;

Nimble

● Expressa expectativas de forma clara e verbosa ;

● Descreve mensagens de erro para falhas;

● Customiza asserções;

● Expectativas assíncronas;

Tips

Saindo do piloto automático.

Pensando em testes

● Cenários

● Casos

● Ações

Relatório de Cobertura

100%

…será ?

E esse bug aqui nessa classe 100% testada ?

Ora Ora...parece que temos um Xeroque Rolmes aqui.

Referências

Era tudo mentira...

www.concretesolutions.com.br

Ajudamos empresas a criar produtos digitais de sucesso

Belo Horizonte - Av. Getúlio Vargas, 671 8º andar, sala 800 - Savassi - (31) 3360-8900

Rio de Janeiro - Rua São José, 90 - cj. 2121Centro - (21) 2240-2030

São Paulo - Av. Nações Unidas, 11.5413º andar - Brooklin - (11) 4119-0449

Sergio Igarashi

[email protected]