😎

MockitoをAgentとして起動できるようにする

2025/02/02に公開

以前、参画するプロジェクトの下準備として、Sprint Boot アプリケーションをJavaで記述したサンプルコードをKotlinで書き直していたことがある。そのアプリケーションをJDK 22で実行しようとすると、Java 21以降では、MockitoはAgentとして起動することになったため、警告が出るようになった。そこで、Kotlinでの指定方法を確認するべく調査。

たどり着いたサイトは、Support configuring Mockito java agent in java 21+

Javaでの指定方法が紹介されていたのを参考にして、Kotlin DSLに書き起こした。

var mockitoAgent = configurations.create("mockitoAgent")

dependencies {
    ...
    testImplementation("org.mockito.kotlin:mockito-kotlin:5.4.0")
    mockitoAgent("org.mockito:mockito-core") { isTransitive = false }
}

tasks {
    test {
        jvmArgs("-javaagent:${mockitoAgent.asPath}")
    }
}

紹介されていた内容を理解して、Kotlinスクリプトを書き起こすことができた。まだまだスキルは落ちてないかな。。。

Discussion