【发布时间】:2020-06-10 12:28:22
【问题描述】:
我在为 SpringJUnit4ClassRunner.class 配置测试时遇到问题)。 我的问题是因为我的 map 结构中的映射器在到达时返回 null。
@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest
class UserServiceTestSuite {
@Spy
private UserDto userDto;
@Spy
private UserMapper userMapper;
@Mock
private UserRepository userRepository;
@InjectMocks
private UserService userService;
private User createUser() {
return User.builder()
.firstName("Steve")
.lastName("Jobs")
.login("SteveJobs")
.password("password")
.role(UserRole.ROLE_ADMIN)
.build();
}
@Test
public void testCreateUser() {
//Given
User user = createUser();
Mockito.when(userRepository.save(user)).thenReturn(user);
//When
UserDto userDto = userService.createUser(userMapper.mapToUserDto(user));
Long id = userDto.getId();
//Then
Assert.assertEquals("Steve", userDto.getFirstName());
Assert.assertEquals("Jobs", userDto.getLastName());
Assert.assertEquals("SteveJobs", userDto.getLogin());
Assert.assertEquals("ROLE_ADMIN", userDto.getRole());
}
【问题讨论】: