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 предоставя прост и вграден механизъм за писане и изпълнение на тестове.