Unit-тестирование: модульный тест
При тестировании программисты стремятся обнаружить любые потенциальные проблемы перед развертыванием приложения в рабочей среде. Одним из важных видов тестирования, которым занимаются программисты, является модульное тестирование.
Посмотреть исходный код и взять его для тестирования ты можешь по ссылке.
В качестве первого шага давай подумаем о том, как мы напишем модульный тест для нашей функции приветствия в GoLang. Есть несколько правил, которыми мы руководствуемся при написании модульных тестов:
-
Мы должны создать файл <filename>_test.go.
-
Мы должны написать обычную функцию Go с сигнатурой func(*testing.T).
-
Мы должны указать имя функции с префиксом Test.
Чтобы написать простые утверждения в нашем тесте, мы можем использовать отличную библиотеку под названием testify. Мы можем установить этот пакет как:
go get -u github.com/stretchr/testify
Мы написали наш тест модуля, используя метод Equal, который имеет сигнатуру, указанную ниже, и взят из пакета testify.
Мы можем протестировать параметрические функции, как указано выше, с той же логикой.
В некоторых случаях мы хотим протестировать наши параметрические функции с несколькими тестовыми примерами. Мы можем написать этот тест, используя цикл for, создав структуру тестового примера с необходимыми параметрами для вызова функции Add.
Вместо использования базового цикла for мы можем использовать стратегию тестирования на основе таблиц для реализации этой функциональности. Мы увидим эту реализацию в следующем разделе.