我有一個設備(設備必須解決,我使用彈簧移動設備)作爲參數休息控制器。單元測試給了我一個狀態415如何Junit的RestController,但與Spring Mobile(彈簧手機)
這裏是
@RequestMapping(method = RequestMethod.POST)
public ResponseEntity<?> authenticationRequest(@RequestBody AuthenticationRequestDto authenticationRequest,
Device device) throws AuthenticationException {
Authentication authentication = this.authenticationManager.authenticate(new UsernamePasswordAuthenticationToken(
authenticationRequest.getUsername(), authenticationRequest.getPassword()));
SecurityContextHolder.getContext().setAuthentication(authentication);
UserDetails userDetails = this.userDetailsService.loadUserByUsername(authenticationRequest.getUsername());
String token = this.tokenGenerator.generateToken(userDetails, device);
return ResponseEntity.ok(new AuthenticationResponseDto(token));
}
單元測試
ResultActions res = mockMvc.perform(post("/auth", authentication, device).contentType(TestUtil.APPLICATION_JSON_UTF8)
.content(TestUtil.convertObjectToJsonBytes(authentication)));
res.andExpect(status().isOk());
這可能是有趣的把AuthenticationController'和'相關代碼' AuthenticationCont rollerTest'在這個問題。如果您更改了存儲庫中的代碼,它將使未來讀者的問題(和答案)失效。 – g00glen00b
我會把代碼。謝謝 – neons
確保你已經在某處添加了@ @ EnableWebMvc註解(可能是在一個配置類中),這對於Mock MVC的工作是必要的。 – g00glen00b