What is the specific use case of these, relating to unit testing?
Why not just have the container execute unit tests, once that process ends and the container closes itself? This wouldn’t need anything additional.
I don’t get it, how would a database container run your unit tests? And unless you know some secret option to stop the database after, say, it is idle for a few seconds, it will continue running.
The purpose is to test database dependent code by spinning up a real database and run your code against that.
Ah! That’s what I didn’t understand. So its not a container for executing unit tests. Its a container for dependencies to support unit tests. That is not clear from the readme unless I missed something
edit - the title could be “Self terminating containers for real world dependencies to support your unit tests”
Thanks man, my brain was short-circuited on Testcontainers so I couldn’t write better. Also I am stealing the title.
This feels more like an integration test than a unit test to me. Maybe that’s not an important distinction to make, but it feels like it would also help communicate intent.
I’m reading this scratching my head going “If your unit tests need a database they ain’t a unit test”.
cool, we need more tooling around rootless docker / podman