ExpertiDict

Go · Essencial · Inglês · Técnico

table-driven test

/ˈteɪ.bəl ˈdɹɪv.ən tɛst/substantivo

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

Veja também

Todos os termos de Go