- É importante desenvolver pensando em testes, ou fazer os testes pensando em desenvolver...
- Programas que apresentam a falha rápido ajudam na hora de validar o teste
- Estrutura: #
function
shouldaction
whencondition
- Quando for pra testar throw tem que chamar a função com arrow function
expect(() => function()).toThrow()
- Se você quiser saber em qual contexto, ou o que fez o teste quebrar pode chamar o helper
withContext
e passar algum valor pra ele. - Exemplo
expect(() => function()).withContext('Falhou com: ' + variavel).toThrow()
- 1 - Escreva um teste que falhe;
- 2 - Faça o código funcionar;
- 3 - Refatore pra evitar redundância;
- Se você quer que algo seja instanciado antes de todo teste use
beforeEach
- Um módulo tem os metadados de um segemento de componentes
- O módulo informa como compilar aquele segemento e o que pode ser injetado como depedência em runtime
- Você pode importar elementos que compõem o módulo e pode exportá-los e torná-los públicos para outro
- Pra você testar um component/serviço etc é ideal criar um test bed e fazer as importações do módulo, afim de não ser necessário ficar criando dependência manualmente
- Pra criar um testbed de um serviço você tem que colocar ele nos providers do TestBed
- Você pode usar um parâmetro na criação do teste que será usando como um callback de conlusão
done => done()