Как протестировать код на Go с базой данных?

Illustration - How to test code in Go with a database?

Введение

Как протестировать код на Go с базой данных? В этой статье опишу пример такого тестирования в связке с Postgres, очисткой на основе копирования базы данных и рассмотрю некоторые альтернативы.

[Далее]

Разделение Интеграционных и Unit тестов в Go с помощью флага -short

В процессе создания приложения и написания тестов может возникнуть необходимость разделить тесты на две группы интеграционные тесты зависящие от окружения и unit тесты которые не зависят от окружения. Для таких ситуации рекомендую использовать флаг -short уже встроенный в go test -short ./..., во многих случаях этого простого деления будет достаточно, и более сложные механизмы вам не пригодятся.

Как это выглядит на практике:

  • go test -count=1 ./... — для запуска всех тестов.
  • go test -short ./... — для запуска только unit тестов.

Ещё для того чтобы этот подход заработал корректно во всех интеграционных тестах нужно будет добавить конструкцию вида if testing.Short() {}:

[Далее]