Допустим у нас имеется некая функция:
1 |
NormalizeEndpoint(endpointBefore string) string |
Подготовим тесты на эту функцию:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
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 тесты, которые легко обновлять и добавлять новые кейсы.