Containers can be used for more than simply running your application. With Testcontainers, you can use containers to easily start the services needed by your application.
In this Labspace, you'll learn how to use Testcontainers in a Spring-based application.
By the end of this Labspace, you will have learned the following:
- Write end-to-end API tests using real services instead of mocks
- How to autowire Spring config to use containerized databases
- How to use GenericContainer to provide additional services and wire them with
@DynamicPropertySource
To launch the Labspace, run the following command:
docker compose -f oci://dockersamples/labspace-testcontainers-java up -dAnd then open your browser to http://localhost:3030.
If you have the Labspace extension installed (docker extension install dockersamples/labspace-extension if not), you can also click this link to launch the Labspace.
If you find something wrong or something that needs to be updated, feel free to submit a PR. If you want to make a larger change, feel free to fork the repo into your own repository.
Important note: If you fork it, you will need to update the GHA workflow to point to your own Hub repo.
-
Clone this repo
-
Start the Labspace in content development mode:
# On Mac/Linux CONTENT_PATH=$PWD docker compose up --watch # On Windows with PowerShell $Env:CONTENT_PATH = (Get-Location).Path; docker compose up --watch
-
Open the Labspace at http://localhost:3030.
-
Make the necessary changes and validate they appear as you expect in the Labspace
Be sure to check out the docs for additional information and guidelines.