Go · Essencial · Inglês · Técnico
subtest
Teste filho criado com t.Run(nome, func(t *testing.T)). Cada subteste tem nome próprio, pode falhar sozinho e pode ser executado isoladamente com -run.
Onde usar
Usado dentro de table-driven tests para dar um nome a cada caso. O nome aparece na saída e permite rodar só um caso, como go test -run TestSoma/negativos.
Em código
func TestSoma(t *testing.T) {
t.Run("negativos", func(t *testing.T) {
if Soma(-1, -2) != -3 {
t.Fatal("errado")
}
})
}
// go test -run TestSoma/negativosExemplos
Wrap each case in a subtest with t.Run.
Envolva cada caso em um subtest com t.Run.
I reran only the failing subtest with the -run flag.
Rodei de novo só o subtest que falhou, com a flag -run.
Cuidado
Espaços no nome viram sublinhados no filtro -run; prefira nomes curtos sem espaços.
Sinônimos
subteste