Тестирование кода в GO
НАВИГАЦИЯ ПО СТРАНИЦЕ
легко понять и запомнить
GO включает в себя встроенные средства для написания и запуска тестов. Тесты в GO обычно создаются в файлах с именем, заканчивающимся на _test.go.
Написание тестов :
Тесты в GO создаются с использованием пакета testing. Тестовая функция должна иметь имя, начинающееся с Test, и принимать один аргумент типа testing.T.
Например:
package mypackage
import (
"testing"
)
func TestAdd(t *testing.T) {
result := Add(2, 3)
expected := 5
if result != expected {
t.Errorf("Expected %d, but got %d", expected, result)
}
}
Запуск тестов :
Тесты можно запустить с использованием утилиты go test. Например, если тесты хранятся в файле mypackage_test.go, выполните:
go test
Таблицы тестирования :
GO поддерживает таблицы тестирования, которые позволяют определить несколько входных данных и ожидаемых результатов для одной тестовой функции:
package mypackage
import (
"testing"
)
func TestAdd(t *testing.T) {
tests := []struct {
a, b, expected int
}{
{2, 3, 5},
{0, 0, 0},
{-1, 1, 0},
}
for _, test := range tests {
result := Add(test.a, test.b)
if result != test.expected {
t.Errorf("For %d + %d, expected %d, but got %d", test.a, test.b, test.expected, result)
}
}
}
Подмешивание тестов :
GO позволяет создавать отдельные файлы для тестов, а не размещать их в том же файле, что и тестируемый код. Это может быть полезно для поддержания чистоты кода.
Например:
// Ваш основной код в mypackage.go
package mypackage
func Add(a, b int) int {
return a + b
}
Тестирование в GO становится более эффективным и удобным с использованием встроенных инструментов. При создании тестов следует обратить внимание на полное покрытие кода и удовлетворение критериям тестирования.