Pular para o conteúdo

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.

03-attrs.zolo
Playground
@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.

05-only.zolo
Playground
@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:

rapido tem a tag "fast"; lento tem duas tags ["slow", "network"].

04-tags.zolo
Playground
@test(tag: "fast")
fn rapido() { expect(1).to_eq(1) }

@test(tag: ["slow", "network"])
fn lento() { expect(1).to_eq(1) }

Requer a CLI/host do Zolo — abra no playground ou rode localmente.

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.

Buscar no Zolo

9 resultados

enespt-br