gradle-docker-compose-plugin
pytest-docker
gradle-docker-compose-plugin | pytest-docker | |
---|---|---|
1 | 1 | |
402 | 394 | |
0.0% | 1.8% | |
6.3 | 6.7 | |
6 days ago | 3 months ago | |
Groovy | Python | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
gradle-docker-compose-plugin
-
Testcontainers
Something that improved developer experience by far and also sped up our builds is starting the container dependencies via docker-compose and connect to it for integration testing. This allows reuse of containers, you can connect to it after/during an integration test to debug without having to keep searching for ports constantly.
With TestContainers - I've perceived that running integration tests / a single test repeatedly locally is extremely slow as the containers are shut down when the java process is killed. This approach allows for this while also allowing to keep it consistent - example, just mount the migrations folder in the start volume of your DB container and you have a like-for-like schema of your prod DB ready for integration tests.
I've found the https://github.com/avast/gradle-docker-compose-plugin/ very useful for this.
pytest-docker
-
Testcontainers
I'm surprised this is getting so much attention. I thought this just standard practice at this point? If you use things like Gitlab CI then you get this via the `services` in your pipeline. The CI job itself runs in a container too.
I use a very similar thing via pytest-docker: https://github.com/avast/pytest-docker The only difference seems to be you declare your containers via a docker-compose file which I prefer because it's a standard thing you can use elsewhere.
What are some alternatives?
services-flake - NixOS-like services for Nix flakes
otj-pg-embedded - Java embedded PostgreSQL component for testing
embedded-postgres-binaries - Lightweight bundles of PostgreSQL binaries with reduced size intended for testing purposes.
nammayatri - A Direct-to-Driver open mobility platform powering the next-generation of mobility applications in India.
latte - Latte is a modern data engineering toolkit.
testcontainers-node - Testcontainers is a NodeJS library that supports tests, providing lightweight, throwaway instances of common databases, Selenium web browsers, or anything else that can run in a Docker container.
dagger - Application Delivery as Code that Runs Anywhere
pglite - Lightweight Postgres packaged as WASM into a TypeScript library for the browser, Node.js, Bun and Deno