Testing Vert.x applications
To test our Vert.x application, we’ll use the JUnit 5 framework, which we discussed in the previous chapter.
You’ll need the following two dependencies in your build.gradle.kts
file:
dependencies {
...
testImplementation("io.vertx:vertx-junit5")
testImplementation("org.junit.jupiter:junit-jupiter:5.9.1")
testImplementation("org.jetbrains.kotlinx:kotlinx-coroutines-
test:1.8.0")
}
Our first test will be located in the /src/test/kotlin/ServerTest.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() = runTest {
vertx.deployVerticle(ServerVerticle()).coAwait()
}
@AfterAll
fun tearDown() {
// You want to stop your server once
vertx.close()
}
@Test
fun...