Jasmine + Karma: Ferramentas que vc usa e não se dá conta do motivo
No dia a dia tem umas coisas que entram no automático e a gente nem se dá conta do motivo de estar usando.
Hoje lendo sobre testes e Angular, na sessão sobre Unit Testing, caiu a ficha sobre o motivo de usar Karma + Jasmine.
Em resumo:
Jasmine é um framework de testes.
Para rodar sozinho (standalone mode), Jasmine precisa que seja criada uma página HTML incluindo os arquivos css e js obrigatórios para o funcionamento.
Então o fluxo de trabalho comum era:
1- fazer esse setup
2- ir incluindo cada arquivo a ser testado e seu respectivo teste na página HTML criada
3- abrir o browser para ver o resultado dos testes.
4- [Devia dar mt trabalho fazer isso!]
Aí é que entra Karma!
Karma é um rodador de testes.
Usando Jasmine + Karma o fluxo de trabalho é otimizado.
Não é preciso fazer setup nem se preocupar em abrir uma página no browser. A interação é feita através do terminal e o trabalho de abrir browser, rodar os testes e exibir o resultado fica por conta do Karma.
O foco nesse caso se volta ao mais importante: escrever testes que tragam rápido feedback.