Testes em uma aplicação
Angular com Typescript
Filipe M. Silva
@flpms
Github
Twitter
Não fique testando com a testa!
Protege
Esclarece
Revela
Teste unitário
• Teste de uma unidade de código
• Isolado das dependências
• O teste automático não é unitário
TDD e BDD
Esclarecendo as coisas.
1. Escreva seu teste
2. Rode os testes e veja se houveram falhas
3. Escreva o código
4. Rode os testes
5. Refatore o código
6. Começe novamente do 1
TDD
Vantagens
BDD
• A mesma coisa do TDD
#SQN
BDD
• Pode e deve ser usado com TDD
• Mudanças menos dolorosas
• Foco no comportamento
suite('Contador', () => {
test('tick aumenta contador em 1', () => {
let counter = new Counter();
counter.tick();
assert.equal(counter.count, 1);
});
});
TDD
describe('Contador', () => {
it('aumenta o contador em 1 após o tick', () => {
let counter = new Counter();
let expectedCount = counter.count + 1;
counter.tick();
assert.equal(counter.count, expectedCount);
});
});
BDD
BOAS PRÁTICAS
Use describe e it
Organize, atue e cheque || dado, quando, então
Angular
COMPONENTS
isolated
shallow
ISOLATED UNIT TEST
SHALLOW UNIT TEST
Referencias
• https://codeutopia.net/blog/2015/03/01/unit-testing-tdd-and-bdd/
• https://angular.io/docs/ts/latest
• https://medium.com/@PeterNagyJob/angular2-configuration-and-unit-testing-with-mocha-and-
chai-4ada9484e569#.mwzwqmhu5
• http://www.radzen.com/blog/testing-angular-webpack-mocha/
• http://hichambi.github.io/2016/12/27/testing-angular2-with-webpack-mocha-on-browser-and-node.html
• https://codeutopia.net/blog/2017/05/15/quick-javascript-testing-tip-how-to-structure-your-tests/
• https://medium.com/@ana.dvorkina/unit-and-integration-tests-for-angular-components-323a2c681972

Testes unitários em angular com typescript