Dec 19, 2020 10:52
При тестинге задумались, какие должны быть UUID неправильные, чтобы парсер их отборсил.
Версия 4 UUID , имеет вид , xxxxxxxx-xxxx-4xxx-Yxxx-xxxxxxxxxxxx
где x есть любая шестнадцатеричная цифра,
а Y является одним из 8, 9, A или B.
Пример теста
package main
import (
"testing"
"github.com/google/uuid"
"github.com/stretchr/testify/require"
)
func Test(t *testing.T) {
tests := []struct {
id string
wantErr bool
}{
{`38fd1d6f-858c-4d07-bc14-46ab99a2e8cf`, false},
{`38fd1d6f858c4d07bc1446ab99a2e8cf`, false},
{`38fd1d6f858 4d07bc1446ab99a2e8ck`, true}, // заменили f на K в конце
}
for _, tt := range tests {
_, err := uuid.Parse(tt.id)
if tt.wantErr {
require.Error(t, err)
} else {
require.NoError(t, err)
}
}
}
golang,
база знаний,
тестирование,
программирование,
работа