TIL : Testcontainers, when testing repository layers or any other layers which required external dependancies like postgres, mongodb, or kafka etc.. rather than spinning up a real docker container we can use testcontainer, bcz it comes with few advantages
1. Automatic clean up and restart, no manual input required
2. Fresh containers for every new functions specially if testing concurrency
3. No need to worry about ports and networking, everything gets handled out of the box
4. easy CI/CD testing as well.