Sobes.tech
Назад к вопросам
Junior — Middle
77

Какими методами и инструментами осуществляется проверка и тестирование кода на языке Go?

Ответ от нейросети

sobes.tech AI

В Go для проверки и тестирования кода используется встроенный пакет testing. Он позволяет писать юнит-тесты, которые запускаются командой go test.

Основные методы и инструменты:

  • Юнит-тесты: создаются в файлах с суффиксом _test.go. Функции тестов должны иметь сигнатуру func TestXxx(t *testing.T).
  • Бенчмарки: функции с сигнатурой func BenchmarkXxx(b *testing.B) для измерения производительности.
  • Моки и заглушки: можно создавать вручную или использовать сторонние библиотеки для имитации зависимостей.
  • Покрытие кода: с помощью go test -cover можно получить отчёт о покрытии тестами.

Пример простого теста:

package mypackage

import "testing"

func Add(a, b int) int {
    return a + b
}

func TestAdd(t *testing.T) {
    result := Add(2, 3)
    if result != 5 {
        t.Errorf("Add(2, 3) = %d; want 5", result)
    }
}

Также для статического анализа и проверки качества кода часто используют golint, go vet и staticcheck.