Простой тест на функцию (GoLang)

В Go существует встроенный пакет testing, который позволяет легко и быстро писать тесты. Например у нас есть пакет operation, с функцией Plus, которая принимает на входе два числа и возвращает результат их сложения.

operation/plus.go

Сама функция Plus(a int, b int) int, находится в файле plus.go и является частью пакета operation.

package operation func Plus(a int, b int) int { return a + b }

operation/plus_test.go

Напишем простой тест на функцию Plus(a int, b int) int, для этого на этом же уровне создаем файл plus_test.go.

В файле описываются несколько сценариев тестирования функции Plus, и проверяется результат на тестовых параметров. Если ожидаемый результат не совпадает с результатом выполнения функции, то будет возвращена ошибка FAIL.

package operation import "testing" func Test_Plus(t *testing.T) { // Структура для тестовых параметров type args struct { a int b int } // Сценарии тестирование tests := []struct { name string args args want int }{ // Первый сценарий { name: "2+2=4", args: args{2, 2}, want: 4, }, // Второй сценарий { name: "10+10=20", args: args{10, 10}, want: 20, }, // Третий сценарий { name: "250+340=590", args: args{250, 340}, want: 590, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { if got := Plus(tt.args.a, tt.args.b); got != tt.want { t.Errorf("plus() = %v, want %v", got, tt.want) } }) } }

go test

Чтобы запустить тест, в командной строке заходим в директорию operation, где находится наш пакет, и вызываем пишем команду go test. После будет выведен текст указанный ниже.

D:\dev\go-test\pkg\operation>go test PASS ok _/D_/dev/go-test/pkg/operation 0.162s

Категории

ПрограммированиеGoLangТестированиеТестирование в Go

Читайте также

Комментарии