С помощью 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")?