# Test Dependencies Setup
## Maven Dependencies
### Basic Testing Setup
```xml
org.springframework.boot
spring-boot-starter-test
test
org.testcontainers
junit-jupiter
1.19.0
test
org.testcontainers
postgresql
1.19.0
test
org.testcontainers
mysql
1.19.0
test
org.springframework.boot
spring-boot-starter-data-jpa
org.springframework.boot
spring-boot-starter-web
```
### Gradle Dependencies
```kotlin
dependencies {
// Spring Boot Test Starter
testImplementation("org.springframework.boot:spring-boot-starter-test")
// Testcontainers
testImplementation("org.testcontainers:junit-jupiter:1.19.0")
testImplementation("org.testcontainers:postgresql:1.19.0")
// Additional Dependencies
implementation("org.springframework.boot:spring-boot-starter-data-jpa")
implementation("org.springframework.boot:spring-boot-starter-web")
}
```
## Version Selection
- **Spring Boot 3.x**: Use Testcontainers 1.19.x+
- **Spring Boot 2.x**: Use Testcontainers 1.17.x
- Always check [Testcontainers Documentation](https://www.testcontainers.org/) for latest versions
## Optional Testing Dependencies
### H2 In-Memory Database
```xml
com.h2database
h2
test
```
### WireMock for HTTP Mocking
```xml
org.wiremock
wiremock-standalone
3.5.2
test
```
### Awaitility for Async Testing
```xml
org.awaitility
awaitility
4.2.0
test
```