java - TestNG 如何测试 @PreAuthorize 注释及其由 spring MVC Controller 指定的 spring EL?

标签 java spring unit-testing spring-mvc testng

我已经在我的 Spring MVC Controller 中定义了这个方法

@PreAuthorize("isAuthenticated() and hasPermission(#request, 'CREATE_REQUISITION')")
    @RequestMapping(method = RequestMethod.POST, value = "/trade/createrequisition")
    public @ResponseBody
    void createRequisition(@RequestBody CreateRequisitionRO[] request,
            @RequestHeader("validateOnly") boolean validateOnly) {
.....
}

然后在我的 TestNG 测试中,我想调用此方法并确保验证 PreAuthorize 条件。当我以正常方式(不是测试)调用此方法时,PreAuthorize 已验证。

如果可能的话,如何在 TestNG 测试中测试这个注解以及如果它抛出异常如何捕获?

最好的问候

最佳答案

在我看来,您不必担心在单元测试中进行测试。您应该只测试您的方法。

相反,您应该为此场景编写集成或功能测试。因为为此整个应用程序将被初始化,您可以测试所有场景。

关于java - TestNG 如何测试 @PreAuthorize 注释及其由 spring MVC Controller 指定的 spring EL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15539581/

相关文章:

java - JAX-WS 拦截运行时异常以进行日志记录

spring - UriComponentsBuilder 查询参数和片段

java - Springcache 不仅仅适用于 XML 配置

unit-testing - 在 Golang 中测试文件系统的示例代码

java - 如何在java中声明多个数组列表

java - 为什么我的 JComboBox 数组没有更新?

java - SFTP 连接错误

java - 使用搜索服务器服务层与数据库层来查找实体

c# - WPF 应用程序的单元测试失败,出现 NotSupportedException "The Uri prefix is not recognized"

Java - HashCode - 等于