https://github.com/testcontainers/tc-guide-testing-spring-boot-kafka-listener
Testing Spring Boot Kafka Listener using Testcontainers Guide
https://github.com/testcontainers/tc-guide-testing-spring-boot-kafka-listener
Last synced: about 1 year ago
JSON representation
Testing Spring Boot Kafka Listener using Testcontainers Guide
- Host: GitHub
- URL: https://github.com/testcontainers/tc-guide-testing-spring-boot-kafka-listener
- Owner: testcontainers
- License: mit
- Created: 2023-04-07T01:05:26.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2023-12-01T16:20:14.000Z (over 2 years ago)
- Last Synced: 2024-05-22T17:24:52.838Z (about 2 years ago)
- Language: Java
- Size: 175 KB
- Stars: 7
- Watchers: 5
- Forks: 2
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Testing Spring Boot Kafka Listener using Testcontainers
This is sample code for [Testing Spring Boot Kafka Listener using Testcontainers](https://testcontainers.com/guides/testing-spring-boot-kafka-listener-using-testcontainers) guide.
## 1. Setup Environment
Make sure you have Java 8+ and a [compatible Docker environment](https://www.testcontainers.org/supported_docker_environment/) installed.
If you are going to use Maven build tool then make sure Java 17+ is installed.
For example:
```shell
$ java -version
openjdk version "17.0.4" 2022-07-19
OpenJDK Runtime Environment Temurin-17.0.4+8 (build 17.0.4+8)
OpenJDK 64-Bit Server VM Temurin-17.0.4+8 (build 17.0.4+8, mixed mode, sharing)
$ docker version
...
Server: Docker Desktop 4.12.0 (85629)
Engine:
Version: 20.10.17
API version: 1.41 (minimum version 1.12)
Go version: go1.17.11
...
```
## 2. Setup Project
* Clone the repository
```shell
git clone https://github.com/testcontainers/tc-guide-testing-spring-boot-kafka-listener.git
cd tc-guide-testing-spring-boot-kafka-listener
```
* Open the **tc-guide-testing-spring-boot-kafka-listener** project in your favorite IDE.
## 3. Run Tests
Run the command to run the tests.
```shell
$ ./gradlew test //for Gradle
$ ./mvnw verify //for Maven
```
The tests should pass.
> [!NOTE]
> The project is configured to automate the code formatting with spotless plugin
> using prettier-plugin-java, which internally requires Node.js runtime.
> If you don't have Node.js installed and want to disable the code formatting,
> you can pass additional parameter to the build command as shown below:
```shell
./gradlew build -x spotlessCheck //for Gradle
./mvnw verify -Dspotless.check.skip=true //for Maven
```