Why are Testcontainers - 🏆🏆🏆 ● Flexible lifecycle API: isolation vs convenience ● Capable of abstractions ○ modules ● Waiting strategies ● Complex network topologies ● Randomized ports mapping ● Everything is dynamic allowing parallelisation ● Self-contained tests: feels like a unit, reliable like integration