Vamos adicionar mais alguns testes na função de soma, agora vamos testar com dois valores negativos, com somente um valor negativo e com zero.
func TestSomaTwoNegatives(t *testing.T) {
total := Soma(-5, -10)
expected := -15
if total != expected {
t.Errorf("Esperava %d recebi %d", expected, total)
}
}
func TestSomaOneNegative(t *testing.T) {
total := Soma(5, -10)
expected := -5
if total != expected {
t.Errorf("Esperava %d recebi %d", expected, total)
}
}
func TestSomaWithZero(t *testing.T) {
total := Soma(5, 0)
expected := 5
if total != expected {
t.Errorf("Esperava %d recebi %d", expected, total)
}
}
O que você achou de todos esses testes? Não parece contraintuitivo gerar uma função para cada caso da função Soma
? Só estamos trocando os parâmetros, parece desnecessário repetir toda a estrutura. Para resolver esse problema o Go possui o teste em batch. Veja como fazemos esse teste em batch.