Sobes.tech
Junior — Middle

Как се извършва писането на модулни и интеграционни тестове в езика Go?

sobes.tech AI

Отговор от AI

В Go се използва пакетът testing за писане на модулни и интеграционни тестове.

  • Модулните тестове проверяват отделни функции или методи изолирано.
  • Интеграционните тестове проверяват взаимодействието между няколко компонента или работата с външни ресурси.

Пример за модулен тест:

package mypackage

import "testing"

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

За интеграционните тестове може да се използват отделни файлове с суфикс _integration_test.go и да се изпълняват отделно, например с флага -tags=integration.

Често се използват мок обекти или тестови бази данни за имитация на външни зависимости.

Изпълнение на тестовете:

go test ./...  # Изпълнява всички тестове

По този начин, Go предоставя прост и вграден механизъм за писане и изпълнение на тестове.