Um recurso simples, mas subestimado de specs2 épendingUntilFixed
. Muitas pessoas comentam partes importantes de seus testes temporariamente e às vezes os enchem de TODO.
É perfeitamente razoável desabilitar um teste em algum ponto. Ou porque você o quebrou durante uma refatoração maior e deseja voltar a ele mais tarde, ou simplesmente não tem tempo para investigar os motivos da falha. Se você comentar ou alterar o código dentro do teste, isso atrapalha o código e você não será lembrado. Não é assim com pendingUntilFixed
. Tente:
"pend until fixed" in {
true === false
}.pendingUntilFixed
Isso não interromperá a compilação, apenas mostrará um teste como pendente. Ele irá realmente executar o teste todas as vezes. E agora vem a parte boa.
"pend until fixed" in {
true === true
}.pendingUntilFixed
Irá falhar a construção com uma mensagem muito boa.
[error] x pend until fixed
[error] Fixed now, you should remove the 'pendingUntilFixed' marker
Isso evita o apodrecimento do código porque, depois de corrigir o teste, você pode restabelecer a lógica do teste original , apenas removendo esse método. Sua construção o lembrará assim que você chegar a este ponto.
Nunca, jamais, desative seus testes specs2 de outra maneira. Isso faz toda a diferença.