あるSEのつぶやき・改

ITやシステム開発などの技術に関する話題を、SEとしての経験から取り上げたり解説したりしています。

JUnitのテストクラスでLombokのアノテーションを使えない問題の解消方法

JUnit5 のテストクラスで、Lombok のアノテーションが使えなくて非常に悩んでいたのですが、build.gradle の設定に問題があったようです。

Spring Initializr で作成したプロジェクトは、以下のような build.gradle を作成します。

dependencies {
  compileOnly 'org.projectlombok:lombok'
  annotationProcessor 'org.projectlombok:lombok'
}

ですが、このままだとテストクラスで Lombok が使用できません。

解決方法は、build.gralde を以下のように変更します。

dependencies {
  compileOnly 'org.projectlombok:lombok'
  annotationProcessor 'org.projectlombok:lombok'

  // 以下の2行を追加
  testCompileOnly 'org.projectlombok:lombok'
  testAnnotationProcessor 'org.projectlombok:lombok'
}

これでテストクラスでも Lombok を使用できるようになります。

テストクラスで Lombok を使用することに自体に問題ないのかなとも思ったのですが、Lombok 公式でも同じ設定をしているので問題ないと思います。

dependencies {
    compileOnly 'org.projectlombok:lombok:1.18.24'
    annotationProcessor 'org.projectlombok:lombok:1.18.24'
    
    testCompileOnly 'org.projectlombok:lombok:1.18.24'
    testAnnotationProcessor 'org.projectlombok:lombok:1.18.24'
}

https://projectlombok.org/setup/gradle