Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Rodar apenas um it do spec

Olá, no karma / Jasmine tem como rodar apenas um it do spect, inclusive fazer o debug desses it ?

3 respostas
solução!

Olá Marcos, tudo joia?

Não sei se interpretei corretamente a sua pergunta, mas se você se refere a ignorar ou desabilitar algum dos testes, tem como fazer isso sim e é bem simples! \o/

Basta você acrescentar o caractere x na frente do it que quer ignorar.

Nesse exemplo, eu implementei 9 testes.

Testes com karma com 9 testes passando

Agora, eu vou digitar o x na frente de dois testes que quero ignorar:

Print do VSCode mostrando dois testes com a letra x na frente do it

Olha como vai aparecer agora - os dois testes que eu ignorei com uma cor de destaque diferente e com a mensagem de que estão desabilitados.

Karma mostrando dois testes desabilitados

Quanto ao debug, o karma já nos mostra qual(is) teste(s) não passou(passaram) e o motivo. Fiz um teste quebrar aqui pra te mostrar como fica:

Karma mostrando um teste que não passou

Mas você também pode criar o relatório para ver a cobertura dos seus testes. Se tiver dúvidas sobre como gerar o relatório veja esta aula. Ao abrir o index.html desse relatório gerado, poderá ter acesso aos testes implementados, quais passaram, qual parte do código não foi coberto por testes e por aí vai.

Abaixo, a página inicial do relatório do arquivo que estou usando como exemplo:

Relatório de testesEspero ter ajudado, bons estudos!

Deixa eu tentar explicar melhor. Dentro de um projeto, eu tenho várias classes de testes (spec´s) cada uma delas eu tenho vários testes unitários (it´s). Digamos que eu quero dentro de uma classe de testes (spec) rodar apenas um teste (it), mais ainda, tentar debudar o IT linha por linha para tentar identificar um erro no próprio teste. Na solução que você me passou eu teria que colocar esse X em todos os it´s do projeto inteiro, né isso ?

Ah, tinha entendido corretamente hahaha. É isso mesmo que comentei acima Marcos. Você também pode utilizar o x na frente do describe para desconsiderar todos os testes de uma classe específica.

Testes em Angular

Bons estudos e bons testes! :)