https://github.com/testcontainers/tc-guide-replace-h2-with-real-database-for-testing
Testing relational database repositories using Testcontainers
https://github.com/testcontainers/tc-guide-replace-h2-with-real-database-for-testing
Last synced: 8 months ago
JSON representation
Testing relational database repositories using Testcontainers
- Host: GitHub
- URL: https://github.com/testcontainers/tc-guide-replace-h2-with-real-database-for-testing
- Owner: testcontainers
- License: mit
- Created: 2023-03-14T03:48:53.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2023-12-01T16:37:35.000Z (about 2 years ago)
- Last Synced: 2024-05-22T18:20:27.969Z (over 1 year ago)
- Language: Java
- Size: 189 KB
- Stars: 1
- Watchers: 4
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# The simplest way to replace H2 with a real database for testing
This is sample code for [The simplest way to replace H2 with a real database for testing](https://testcontainers.com/guides/replace-h2-with-real-database-for-testing) 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-replace-h2-with-real-database-for-testing.git
cd tc-guide-replace-h2-with-real-database-for-testing
```
* Open the **tc-guide-replace-h2-with-real-database-for-testing** 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
```