Go library to spawn single-use PostgreSQL servers for unit testing
Spawns a PostgreSQL server with a single database configured. Ideal for unit tests where you want a clean instance each time. Then clean up afterwards.
Features:
- Starts a clean isolated PostgreSQL database
- Tested on Fedora, Ubuntu and Alpine
- Optimized for in-memory execution, to speed up unit tests
- Less than 1 second startup / initialization time
- Automatically drops permissions when testing as root
In your unit test:
pg, err := pgtest.Start()
defer pg.Stop()
// Do something with pg.DB (which is a *sql.DB)
This library is distributed under the MIT license.