Você começa a desenvolver um novo aplicativo e, como um programador incrível, escreve testes para o seu código.
Tudo é testado, os testes são verdes, a vida é ótima.
Assim que seu aplicativo começa a crescer, o número de testes também aumenta e você se depara com o problema de que toda vez que você (re) escreve um teste ou um conjunto de testes para um novo recurso, você precisa executar todos os testes novamente.
Você corrige um pequeno problema ou erro de digitação detectado e, novamente, executa todos eles.
O problema é que os testes podem levar algum tempo para serem executados, especialmente se você tiver testes de ponta a ponta, eles podem levar alguns minutos para serem executados.
Jasmine nos oferece a possibilidade de executar um teste específico ou um conjunto de testes.
Você só precisa preceder o it("should do something", function(){...})
com um f ( fit("should do something", function() {...})
) para que o Jasmine execute apenas os testes ( é ) prefixado com f (foco).
O mesmo acontece com describe’s , prefixe a describe com f ( fdescribe ) e jasmine executará todo o conjunto de testes ( describe’s ) prefixado com f (focus).
Uma última coisa, fit’s têm mais precedência do que fdescribe , isso significa que jasmine irá ignorar fdescribe’s se um ou mais fit’s estiverem presentes, desta forma executando apenas os fit’s .
PS .: não se esqueça de remover todos os f’s prefixados antes de cometer, também, execute os testes novamente para ter certeza de que todos os testes foram aprovados e todos foram executados.
Este é um recurso muito bom, mas pode levar a erros, muitas vezes os desenvolvedores se esquecem de removê-los.
PS2: Muito obrigado a @tykayn pela atualização.