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