Ответ
В Go стандартная библиотека testing — основной инструмент для тестирования. Она простая, но мощная. Для моков и assert-проверок часто используют:
- Testify (
github.com/stretchr/testify) — популярный выбор из-за удобныхassertиmockпакетов.
func TestAdd(t *testing.T) {
assert.Equal(t, 3, Add(1, 2), "должно быть 3")
}
-
gomock (
go.uber.org/mock) — для генерации моков на основе интерфейсов. -
httptest — из stdlib для HTTP-тестирования.
Для бенчмарков тоже используется testing:
func BenchmarkAdd(b *testing.B) {
for i := 0; i < b.N; i++ {
Add(1, 2)
}
}