The worked example from Growing Object-Oriented Software Guided by Tests implemented in Java with acceptance tests written in Kotlin.
- JDK 8.
- Docker.
- Docker Compose.
This project configures a local build environment based on Docker using Batect.
To see a list of all tasks in the project run: ./batect --list-tasks.
Architecture Decision Records capture the important architectural decisions made in the project along with their context and consequences.
Acceptance tests are written as BDD scenarios using Serenity and the Screenplay pattern. They can be run end-to-end against the GUI or can be run directly against the domain model.
Communication between the participants in the auction is via an Openfire server. A Docker Compose file is provided for running an Openfire docker image.
To start the Openfire server run: docker-compose up.
To start the application run: ./gradlew run --args="localhost sniper sniper".
This command starts the application and connects to an Openfire server running on localhost,
connecting as the sniper user preconfigured in the Openfire Docker image.