0
respostas

[Dúvida] Erro no teste

No github actions, ele dá erro ao se conectar com o banco de dados na realização dos testes

=== RUN TestListaTodosOsAlunosHanlder
2025/12/10 15:28:26 /home/runner/work/pipelines-e-testes-automatizados-com-github-actions/pipelines-e-testes-automatizados-com-github-actions/database/db.go:23
[error] failed to initialize database, got error failed to connect to host=*** user=*** database=***: dial error (dial tcp [::1]:***: connect: connection refused)
2025/12/10 15:28:26 Erro ao conectar com banco de dados
--- FAIL: TestListaTodosOsAlunosHanlder (0.00s)
panic: Erro ao conectar com banco de dados [recovered]
panic: Erro ao conectar com banco de dados

Meu arquivo de workflow:

This workflow will build a golang project

For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-go

name: Integração Contínua

on:
push:
branches: [ "master" ]
pull_request:
branches: [ "master" ]

jobs:

ci:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Set up Go
  uses: actions/setup-go@v4
  with:
    go-version: '1.22'

- name: Inicia banco
  run: docker compose up -d postgres

- name: Lint
  uses: golangci/golangci-lint-action@v6
  with:
    version: v1.59
    args: controllers/ database/ models/ routes/

- name: Test
  run: DB_HOST=${{ secrets.DB_HOST }} DB_PASSWORD=${{ secrets.DB_PASSWORD }} DB_USER=${{ secrets.DB_USER }} DB_NAME=${{ secrets.DB_NAME }} DB_PORT=${{ secrets.DB_PORT }} go test -v main_test.go

O docker-compose.yml:
services:
postgres:
image: "postgres"
environment:
- POSTGRES_USER=root
- POSTGRES_PASSWORD=root
- POSTGRES_DB=root
ports:
- 5432:5432
volumes:
- ./postgres-data:/var/lib/postgresql/data

app:
image: golang:1.22
command:
- go
- run
- main.go
volumes:
- ./:/app
working_dir: /app
ports:
- 8080:8080
depends_on:
- postgres
environment:
- DB_HOST=postgres
- DB_USER=root
- DB_PASSWORD=root
- DB_NAME=root
- DB_PORT=5432