Go · Essencial · Inglês · Técnico
table-driven test
Estilo de teste em que os casos ficam em uma slice de structs com entrada e saída esperada, percorrida por um único laço que roda a mesma verificação.
Onde usar
É o padrão idiomático em Go: adicionar um caso novo custa uma linha. Combinado com t.Run, cada caso aparece com nome próprio na saída.
Em código
tests := []struct {
a, b, want int
}{{1, 2, 3}, {0, 0, 0}, {-1, 1, 0}}
for _, c := range tests {
if got := Soma(c.a, c.b); got != c.want {
t.Errorf("%d+%d=%d", c.a, c.b, got)
}
}Exemplos
Add another row to the table-driven test.
Adicione mais uma linha ao table-driven test.
Most Go tests are table-driven.
A maioria dos testes em Go é table-driven.
Cuidado
Evite casos dependentes entre si; cada linha da tabela deve poder falhar e ser executada isoladamente.
Sinônimos
teste orientado a tabela