... > GO > Тестирование кода в...

Тестирование кода в 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 становится более эффективным и удобным с использованием встроенных инструментов. При создании тестов следует обратить внимание на полное покрытие кода и удовлетворение критериям тестирования.