Search⌘ K
AI Features

Testing Vert.x Applications

Discover how to write integration tests for Vert.x applications using JUnit 5 in Kotlin. Explore setting up dependencies, deploying server verticles, and using the Vert.x Web Client to perform HTTP requests and validate server responses reactively.

Adding dependencies

To test our Vert.x application, we’ll use the JUnit 5 framework. We’ll need the following two dependencies in our build.gradle.kts file:

dependencies {
...
testImplementation("org.junit.jupiter:junit-jupiter-
api:5.6.0")
testRuntimeOnly("org.junit.jupiter:junit-jupiter-
engine:5.6.0")
}

Writing tests in the AppTest.kt file:

Our first test will be located in the /src/test/kotlin/catsshelter/AppTest.kt file.

The basic structure of all the integration tests looks something like this:

@TestInstance(TestInstance.Lifecycle.PER_CLASS)
class ServerTest {
    private val vertx: Vertx = Vertx.vertx()
    
    @BeforeAll
    fun setup() {
        runBlocking {
           
...