Lombok 集成测试编译错误 - 找不到符号

问题描述 投票:0回答:2

我的

integrationTest
文件夹中有以下代码

import lombok.Builder;

public final class TestHelper {

        private TestHelper() {
           throw new IllegalStateException("Utility Class");
        }

        @Builder(builderMethodName = "buildDbConn")
        public static void dBConnectionBuilder(String dbUrl,String dbUser) {
             //..
    
            }
        
        public void buildTestExample(){
            buildDbConn()
                    .dbUrl("url")
                    .dbUser("usr")
                    .build();
        }
}

gradle.build我有

compileOnly "org.projectlombok:lombok"
annotationProcessor "org.projectlombok:lombok"

testImplementation "org.projectlombok:lombok"

编译时仍然出现以下错误:

error: cannot find symbol
        buildDbConn()
        ^
  symbol:   method buildDbConn()
  location: class TestHelper

此外,同一个项目我在

main
文件夹下有使用 @Builder 实现的开发代码,没有任何编译问题。

java spring-data-jpa lombok
2个回答
1
投票

请参阅 lombok 文档中的 gradle 设置

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

-1
投票
我一直在类级别使用

@Builder

 注释,从来没有在像这样的静态方法上使用过。

例如

@AllArgsConstructor @Builder(builderMethodName = "buildDbConn") @Getter public final class TestHelper { private final String dbUrl; private final String dbUser; public TestHelper buildTestExample(){ return TestHelper.buildDbConn().dbUrl("url").dbUser("usr").build(); } }
    
© www.soinside.com 2019 - 2024. All rights reserved.