小编Zbi*_*cki的帖子

JUnit 不适用于 Lombok - 注释处理似乎不适用于测试类

我对 Lombok 和 JUnit 有问题。

我正在使用IntelliJ Idea,最新的,Lombok安装了插件并启用了注释处理。

我有一个实体类:

@Data
@Builder
@AllArgsConstructor
public class User {

    private String name;
    private String email;

}
Run Code Online (Sandbox Code Playgroud)

构建.gradle:

dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.12'
    compile group: 'org.projectlombok', name: 'lombok', version: '1.18.10'
    testCompile group: 'org.projectlombok', name: 'lombok', version: '1.16.10'
    testAnnotationProcessor "org.projectlombok:lombok:1.18.10"
}
Run Code Online (Sandbox Code Playgroud)

最后,测试用例:

@Test
public void whenCheckIfPresent_thenOk() {
    User user = User.builder().name("John").email("sf@sf.pl").build();
    Optional<User> opt = Optional.ofNullable(user);
    assertTrue(opt.isPresent());

    assertEquals(user.getEmail(), opt.get().getEmail());
}
Run Code Online (Sandbox Code Playgroud)

当我尝试运行此测试时,出现以下错误:

IdeaProjects\Tutoriale\src\test\java\optionals\OptionalsTest.java:26: error: cannot find symbol
        User user = …
Run Code Online (Sandbox Code Playgroud)

java junit unit-testing annotation-processing lombok

8
推荐指数
1
解决办法
3497
查看次数