scalatest.FunSpec: ignore com xit

Para ignorar uma especificação por algumas execuções (normalmente apenas para refatorar antes que eu possa realmente implementar a especificação), o Scalatest permite que você ‘ignore’ o teste. Considere a seguinte especificação de exemplo.

class SomeSpec extends FunSpec {
describe
("Something") {
it
("does something") { .. }
}
}

Para ignorar temporariamente a especificação, você pode substituir ‘isso’ por ‘ignorar’

describe("Something") {
ignore
("does something") { .. }
}

Tudo bem, mas fica um pouco chato. Especialmente porque também pode ser feito com um único caractere chave (não estou falando de teclas de vim ou emacs aqui).

Pelo menos várias outras bibliotecas de especificações permitem que você ignore uma especificação colocando um ‘x’ na frente dela, ou seja, usando ‘xit’ em vez de ‘isso’. Você pode fazer o mesmo com o Scalatest delegando ‘xit’ ao ignorar padrão.

def xit(description: String, tags: scalatest.Tag*)(fn: => Unit) = ignore(description, tags:_*)(fn)