我想对我的 MapStruct 映射器进行单元测试,如果是这样,我应该使用 Mockito,还是可以直接调用
mapper = new UserMapperImpl();
。
UserMapperTest.java
class UserMapperTest {
private UserMapper mapper;
@BeforeEach
void setUp() {
mapper = new UserMapperImpl();
}
@Test
public void shouldMapUserSignUpDtoToUser() {
}
}
UserMapper.java
@Mapper(componentModel = "spring")
public interface UserMapper {
@Mappings({
@Mapping(source = "username", target = "displayName"),
@Mapping(target = "profilePicture", ignore = true),
@Mapping(target = "password", ignore = true),
@Mapping(target = "id", ignore = true),
@Mapping(target = "role", ignore = true),
@Mapping(target = "pictures", ignore = true)
})
User toUser(UserSignUpDto userDto);
@Mapping(source = "email", target = "displayName")
User toUser(UserLogInDto userDto);
UserSignUpDto toUserLogInDto(User user);
UserLogInDto toUserSignUpDto(User user);
UserProfileDto toUserProfileDto(User user);
}
我正在使用mockito测试我的映射器,并且简单地
Mappers.get(
class UserMapperTest {
private UserMapper mapper = Mappers.get(UserMapper.class);
@Test
public void shouldMapUserSignUpDtoToUser() {
}
}
对于 99% 的情况来说这已经足够了。我建议使用mockito,因为它可以显着减少测试运行时间,因为没有要启动的spring上下文。