TestContainers
Trainings
Play Framework makes it easy to get started, but also easy to build applications that don’t age well. Controllers become god objects, database code leaks everywhere, and testing becomes an afterthought. This session shows how to fix that by structuring your application around Hexagonal Architecture, keeping your domain clean and your dependencies at the edges.
We’ll cover how to integrate Slick properly, design ports and adapters that reflect real business use cases, and implement testing strategies that actually prove your system works. The focus is Play Framework with the Scala programming language
Talks
In the past, testing the data layer was hard, really hard. It would include a test database, as opposed to the production which of course we didn’t want to use for testing. Maintaining any sort of consistency was a pain to do, and perhaps fell by the wayside because it was too tedious and too fragile. Then we used in-memory databases, but the only viable ones were HSQLDB or H2. The problem there though is that the SQL for the in-memory databases didn’t quite match up. Today we have Test Containers which uses a Docker Client to download a specific version of whatever database or messaging system you wish to integrate. The best part, you can test against the same version of the database or messaging system so you have higher confidence that your tests work.