You've already forked testing-go-code-with-postgres
mirror of
https://github.com/xorcare/testing-go-code-with-postgres.git
synced 2025-07-03 23:30:31 +02:00
34 lines
2.0 KiB
Markdown
34 lines
2.0 KiB
Markdown
# Example of testing Go code with Postgres
|
|
|
|
[](https://github.com/xorcare/testing-go-code-with-postgres/actions/workflows/go.yml)
|
|
[](https://codecov.io/github/xorcare/testing-go-code-with-postgres/tree/main)
|
|
[](https://gitlab.com/xorcare/testing-go-code-with-postgres/tree/main)
|
|
[](https://gitlab.com/xorcare/testing-go-code-with-postgres/tree/main)
|
|
[](https://goreportcard.com/report/github.com/xorcare/testing-go-code-with-postgres)
|
|
|
|
The example suggests a solution to the problem of cleaning the database after
|
|
running tests and the problem of running tests in parallel. It also shows how
|
|
to organize integration testing of Go code with Postgres.
|
|
|
|
## What's interesting here?
|
|
|
|
- Example
|
|
of [docker-compose.yml](https://github.com/xorcare/testing-go-code-with-postgres/blob/main/docker-compose.yml)
|
|
with multiple databases and automated migrations.
|
|
- Example of test database connection management
|
|
in [testingpg](https://github.com/xorcare/testing-go-code-with-postgres/tree/main/testingpg)
|
|
package.
|
|
- Example of
|
|
integration [tests](https://github.com/xorcare/testing-go-code-with-postgres/blob/main/user_repository_test.go).
|
|
- And example
|
|
of [GitHub Actions](https://github.com/xorcare/testing-go-code-with-postgres/blob/main/.github/workflows/go.yml)
|
|
and [Gitlab CI](https://github.com/xorcare/testing-go-code-with-postgres/blob/main/.gitlab-ci.yml).
|
|
|
|
## How to use
|
|
|
|
Run `make test-env-up test` and then everything will happen by itself.
|
|
|
|
## Disclaimer
|
|
|
|
**This example is not an example of software architecture!**
|