現象
以下のように、gradle test
するとJUnit 5がlombokが云々で実行に失敗する。
> gradle test
Hoge.java:3: error: package lombok does not exist
import lombok.Data;
^
Hoge.java:5: error: cannot find symbol
@Data
^
symbol: class Data
2 errors
FAILURE: Build failed with an exception.
原因と解決策
https://medium.com/@tsuyoshiushio/gradle-5-0-with-lombok-and-spring-boot-e8ca564fc552 にあるように、testCompileOnly
とtestAnnotationProcessor
でlombokを入れる。詳細は良く理解してないが、lombokのアノテーション処理がtest時も有効になるよう設定しないといけないのだろう。
dependencies {
compileOnly("org.projectlombok:lombok:${lombokVersion}")
testCompileOnly("org.projectlombok:lombok:${lombokVersion}")
annotationProcessor("org.projectlombok:lombok:${lombokVersion}")
testAnnotationProcessor("org.projectlombok:lombok:${lombokVersion}")
}