Ещё один инструмент для обновления зависимостей

Обновление зависимостей в проектах на Go может быть утомительным и трудоемким процессом, особенно когда речь идет о множестве репозиториев. В данной статье автор делимся опытом разработки скрипта go-mod-bump, который значительно упрощает эту задачу, автоматизируя рутинные операции и минимизируя риск ошибок. [Далее]

Проверяем актуальность go.mod и go.sum

При ревью запроса на слияние периодически приходится сталкиваться с подозрительными изменениями go.mod и go.sum. Например, когда изменяется только один файл из двух, или когда в Go коде мы не видим то, что могло бы привести к изменениям go.mod и go.sum. [Далее]
golang  go  gitlab  ci 

Как протестировать код на 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() {}:

[Далее]