Ответ
Тесты запускались автоматически в CI/CD пайплайне при каждом пуше в ветку разработки или перед мерджем в мастер. Использовали GitHub Actions с параллельным прогоном юнит, интеграционных и e2e тестов. Для ускорения применяли кеширование зависимостей и тестовых данных. Пример конфига:
name: Tests
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-go@v4
with:
go-version: '1.21'
- run: go test -v -race ./...
- run: go test -tags=integration ./...