Skip to content

Unit-тестирование: модульный тест

При тестировании программисты стремятся обнаружить любые потенциальные проблемы перед развертыванием приложения в рабочей среде. Одним из важных видов тестирования, которым занимаются программисты, является модульное тестирование.

Посмотреть исходный код и взять его для тестирования ты можешь по ссылке.

В качестве первого шага давай подумаем о том, как мы напишем модульный тест для нашей функции приветствия в GoLang. Есть несколько правил, которыми мы руководствуемся при написании модульных тестов:

  1. Мы должны создать файл <filename>_test.go.

  2. Мы должны написать обычную функцию Go с сигнатурой func(*testing.T).

  3. Мы должны указать имя функции с префиксом Test.

Чтобы написать простые утверждения в нашем тесте, мы можем использовать отличную библиотеку под названием testify. Мы можем установить этот пакет как:

go get -u github.com/stretchr/testify

Мы написали наш тест модуля, используя метод Equal, который имеет сигнатуру, указанную ниже, и взят из пакета testify.

Мы можем протестировать параметрические функции, как указано выше, с той же логикой.

В некоторых случаях мы хотим протестировать наши параметрические функции с несколькими тестовыми примерами. Мы можем написать этот тест, используя цикл for, создав структуру тестового примера с необходимыми параметрами для вызова функции Add.

Вместо использования базового цикла for мы можем использовать стратегию тестирования на основе таблиц для реализации этой функциональности. Мы увидим эту реализацию в следующем разделе.