This document provides an overview of JUnit 5 and TestContainers. It discusses how JUnit 5 is composed of the JUnit Platform, JUnit Jupiter, and JUnit Vintage modules. It covers JUnit 5 annotations, assertions, assumptions, parameterized and conditional tests. It also discusses how TestContainers allows tests to use live Docker containers as their test environment by launching containers during tests. This includes using generic containers, specialized database containers, and configuring container properties. Resources for further learning about both tools are also provided.