Atributos de Teste
Nesta página
Os decorators @test e @suite aceitam atributos que refinam o
comportamento do runner sem alterar o código testado.
skip
skip: "motivo" marca o teste para ser ignorado, mas ainda o exibe no
relatório como pendente. Ideal para casos não implementados ainda:
Executa via zolo test. Ilustra skip (teste pulado), should_throw
(falha esperada) e um @test normal no mesmo arquivo.
@test(skip: "ainda nao implementado")
fn pulado() { expect(1).to_eq(2) } // would fail, but skipped
@test(should_throw: "out of range")
fn deve_lancar() {
panic("out of range")
}
@test
fn normal() { expect(1).to_eq(1) }
Requer a CLI/host do Zolo — abra no playground ou rode localmente.
should_throw
should_throw: "mensagem" inverte a expectativa: o teste passa se — e
somente se — o corpo lançar um panic com a mensagem indicada. Use para
validar comportamentos de contrato.
only
Quando existe ao menos um @test(only) no arquivo, o runner ignora todos
os demais testes. Útil para focar em um único caso durante o desenvolvimento:
foco é o único teste que roda; ignorado_por_only seria reprovado,
mas é automaticamente pulado pela presença de only.
@test(only)
fn foco() { expect(1).to_eq(1) }
@test
fn ignorado_por_only() { expect(1).to_eq(2) } // would fail, but skipped due to `only`
Requer a CLI/host do Zolo — abra no playground ou rode localmente.
tag
tag: associa rótulos ao teste, permitindo filtragem na linha de comando
(zolo test --tag fast). Aceita uma string ou uma lista de strings:
Desafio
Crie um teste com skip: "TODO" e outro com should_throw: "divisão por zero".
Execute zolo test e verifique como cada um aparece no relatório.
Veja também