【发布时间】:2020-10-10 23:43:49
【问题描述】:
我想为此端点创建 JUnkt 测试:
@Autowired
private JwtTokenProvider jwtTokenProvider;
@PostMapping("reset_token")
public ResponseEntity<?> resetToken(@Valid @RequestBody ResetPasswordTokenDTO resetPasswordTokenDTO, BindingResult bindResult) {
final String login = jwtTokenProvider.getUsername(resetPasswordTokenDTO.getResetPasswordToken());
}
完整代码:Github
JUnit 测试:
@Test
public void resetTokenTest_NOT_FOUND() throws Exception {
when(usersService.findByResetPasswordToken(anyString())).thenReturn(Optional.empty());
mockMvc.perform(post("/users/reset_token")
.contentType(MediaType.APPLICATION_JSON)
.content(ResetPasswordTokenDTO))
.andExpect(status().isNotFound());
}
当我运行代码时,我在这一行得到了 NPE:
final String login = jwtTokenProvider.getUsername(resetPasswordTokenDTO.getResetPasswordToken());
如何正确模拟jwtTokenProvider?如您所见,我有一个带有测试data 的文件,我加载了该文件,但未提取令牌。你知道我该如何解决这个问题吗?
【问题讨论】:
标签: java spring junit junit5 spring-test