Я немного смущен тем, как правильно писать модульные тесты для моего приложения. На самом деле, я хочу знать, нужно ли мне переписать существующий метод и изменить его для junit или просто вызвать мой существующий метод и использовать assert. До сих пор я использую второй вариант, но я столкнулся с проблемой. Например, внутри метода контроллера я получаю текущего пользователя и передаю его некоторым службам. Если я вызову этот метод через JUnit, он будет показывать пустое исключение, потому что пользователь не зарегистрирован. Итак, 1) Нужно ли мне переписывать эти методы для целей тестирования? 2) Правильно ли вызывать существующие методы и использовать утверждение в любом случае? БлагодаряКак правильно писать тесты JUnit?
@RequestMapping(value="/like", method=RequestMethod.GET)
public String msgLike(@RequestParam("msgId") long messageId, @RequestParam("like") boolean like){
User user = new User();
user = this.userService.getUserByName(this.userService.getLoggedInUsername()); //NULL EXCEPTION HERE WHEN TESTING
if(!messageService.checkIfLiked(user, messageId)){
if(like){
messageService.insertLike(messageId);
messageService.insertMessageUserLike(user, messageId);
}
if(!like){
messageService.insertDislike(messageId);
messageService.insertMessageUserLike(user, messageId);
}
}
return "redirect:/home";
}
Возможно, вы захотите предоставить более подробную информацию о своей проблеме. Можете ли вы показать пример кода того, что вы пытаетесь проверить, и явно указать, где проблема? –
@Fido Я опубликовал метод, который я пытался проверить. – wr21