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' }