gpt4 book ai didi

java - 无法从 mapStruct Autowiring Mapper

转载 作者:行者123 更新时间:2023-12-01 16:22:50 28 4
gpt4 key购买 nike

我无法在测试中从mapstruct Autowiring Mapper。在使用 SpringRunner.class 进行测试时可以,但是当我尝试使用 MockitoJunitRunner 时,这是不可能的。

@Mapper(componentModel = "spring", uses = {})
public interface UserMapper {
UserMapper MAPPER = Mappers.getMapper(UserMapper.class);

User mapToUser(UserDto userDto);

UserDto mapToUserDto(User user);

List<UserDto> mapToUserDtoList(List<User> userList);
}
@RunWith(SpringRunner.class)
@SpringBootTest
public class nowyTest {
@Spy
private UserMapper userMapper;

private User createUser() {
return User.builder()
.firstName("Steve")
.lastName("Jobs")
.login("SteveJobs")
.password("password")
.role(UserRole.ROLE_ADMIN)
.build();

}

@Test
public void testMapper() {
User user = createUser();
UserDto userDto = userMapper.mapToUserDto(user);

System.out.println(userDto);
Assert.assertEquals(userDto.getFirstName(), "Steve");
}

}

它返回 NPE :(

最佳答案

您是否尝试过包含注释@Import(yourClass)?在这种情况下:

@RunWith(SpringRunner.class)
@SpringBootTest
@Import(UserMapper.class)
public class nowyTest {
...

您可以查看this tutorial有关如何在 SpringBoot 测试中启动 bean 的更多信息。

关于java - 无法从 mapStruct Autowiring Mapper,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62223614/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com