С Spring MVC, можно указать, что конкретный URL будет обрабатываться с помощью конкретного способа, и вы можете указать, что конкретные параметры сопоставляются с конкретными аргументами, например, так:Тестирование Spring MVC аннотаций mapppings
@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-запрос. Я чувствую, что мне также нужен тест для этой части, тем более что мои аннотации становятся более сложными и вызывают сложный параметров.
Не могли бы вы показать мне тест, который сломается, если я удалю строку 4, @RequestMapping("getImage")
?
Я не совсем понимаю ваш вопрос. Вы имеете в виду «Как создать модульный тест для Spring MVC Controllers, который использует сопоставление аннотаций?»? –
Извините. Я хочу сказать, что хочу проверить правильность аннотации и что HTTP-запрос действительно вызовет этот метод. –