Допустим у нас имеется некая функция:
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 тесты, которые легко обновлять и добавлять новые кейсы.