Допустим у нас имеется некая функция:
NormalizeEndpoint(endpointBefore string) string
Подготовим тесты на эту функцию:
func TestNormalizeEndpoints(t *testing.T) {
type runnerTest struct {
name string
endpointBefore string
endpointAfter string
}
var tests = []runnerTest{
{"Test 1", "https://case1.com", "case1"},
{"Test 2", "https://case2.com", "case2"},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
assert.Equal(t, tt.endpointAfter, NormalizeEndpoint(tt.endpointBefore))
})
}
}
При помощи нехитрой конструкции можно написать неплохие table тесты, которые легко обновлять и добавлять новые кейсы.