Как JUnit тестирует аннотацию @PreAuthorize и ее пружину EL, заданную контроллером Spring MVC?

Я определил этот метод в своем Spring MVC Controller:

@RequestMapping(value = "{id}/content", method=RequestMethod.POST)
@PreAuthorize("principal.user.userAccount instanceof T(com.anonym.model.identity.PedagoAccount) AND principal.user.userAccount.userId == #object.pedago.userId AND #form.id == #object.id")
public String modifyContent(@PathVariable("id") Project object, @Valid  @ModelAttribute("form") ProjectContentForm form) {
    ....
}

Затем в моем тесте JUnit я хотел бы вызвать этот метод и убедитесь, что условие PreAuthorize проверено. Но когда я устанавливаю принципала пользователя в моем тесте JUnit с плохой учетной записью, ошибки не возникает, и метод завершается. Кажется, что аннотация игнорируется.
Но когда я вызываю этот метод обычным способом (не тестируя), PreAuthorize проверяется.

Если возможно, как проверить эту аннотацию в тесте junit и как перехватить исключение, если оно выдает одно?

Спасибо,
Николас

10
задан Nico 23 March 2011 в 12:51
поделиться