В Spring MVC вы можете указать, что определенный URL-адрес будет обрабатываться определенным методом, и вы можете указать, что конкретные параметры будут сопоставляться с определенными аргументами, например:
@Controller
public class ImageController {
@RequestMapping("/getImage")
public String getImage( @RequestParam("imageId") int imageId, Map<String,Object> model ) {
model.put("image",ImageService.getImage(imageId));
}
}
Это все хорошо, но теперь я хочу проверить, что http-запрос с параметром imageId правильно вызовет этот метод. Другими словами, мне нужен тест, который будет нарушен, если я удалю или изменю любую из аннотаций. Есть ли способ сделать это?
Легко проверить, что getImage работает правильно. Я мог бы просто создать ImageController и вызвать getImage с соответствующими аргументами. Однако это только одна половина теста. Другая половина теста должна заключаться в том, будет ли getImage () вызываться средой Spring при поступлении соответствующего HTTP-запроса. Мне кажется, что мне также нужен тест для этой части, особенно когда мои @RequestMapping
аннотации становятся более сложными вызвать сложные условия параметра.
Не могли бы вы показать мне тест, который сломается, если я уберу строку 4, @RequestMapping("getImage")
?