Testes
O pacote pkg/base/test configura o ambiente do SDK e fornece containers para dependências externas.
Inicialização básica
package users_test
import (
"os"
"testing"
colibriTest "github.com/colibriproject-dev/colibri-sdk-go/pkg/base/test"
)
func TestMain(m *testing.M) {
colibriTest.InitializeBaseTest()
os.Exit(m.Run())
}
InitializeBaseTest() configura:
ENVIRONMENT=test
APP_NAME=colibri-project-test
APP_TYPE=service
CLOUD=aws
Dependências disponíveis
| Helper | Dependência |
|---|---|
InitializeCacheDBTest() | Redis |
InitializeSqlDBTest() | PostgreSQL |
InitializeTestLocalstack() | LocalStack |
InitializeGcpEmulator() | Emuladores GCP |
InitializeRabbitmq() | RabbitMQ |
UseWiremockContainer() | WireMock |
Esses helpers usam Testcontainers e, portanto, exigem um runtime Docker disponível.
Para verificar as métricas registradas pelo seu código, use monitoringtest.Install(t). Consulte Testar métricas.
dica
Para testes unitários, prefira substituir repositórios e clientes por implementações locais. Use containers apenas quando o comportamento do provedor fizer parte do que está sendo validado.
Veja testes completos no school-module.