我已经有弹簧web应用程序和泽西休息服务。然而,其余部分通过弹簧安全保护,登录过程很难从单元测试代码执行。我想测试整个弹簧安全禁用的休息服务。它甚至有可能吗?如何测试弹簧安全的弹簧应用程序中的REST
0
A
回答
0
基于注释的Web服务的优点之一是您可以轻松地对它们进行单元测试。
class WebServiceEndpoint {
@Path("/foo/{fooId}")
@POST
@Produces({ MediaType.APPLICATION_XML })
public Response doFoo(@PathParam("fooId") Integer fooId) {
/// ... web service endpoint implementation
}
}
如果你使用Spring的安全Servlet过滤器,那么就不应在doFoo
方法任何安全相关的代码,所以你可以创建一个新的WebServiceEndpoint
类并调用方法。所以这是“禁用”安全性的一种方式。
当你说登录过程是'硬',你是什么意思?如果您成功登录过一次,那么您可以在其他单元测试中重复使用相同的代码(例如,在@Before
方法中)。
0
只是测试它作为pojo。传入任何内容,返回任何内容,根本不加载应用程序上下文 - 这将是一个集成测试。
在不加载框架的情况下轻松测试功能的能力是spring的关键优势之一。
0
你不会说什么是“难”,所以我假设你已经在你的REST服务中有一些东西,即在你想测试的java方法中,它需要认证结果。 Spring有用于嘲笑认证结果的实用程序。例如,你可以做一个@Before
设置方法如下:
Object principal = null; // fix this
Object credentials = null; // fix this
Authentication auth = new org.springframework.security.authentication.TestingAuthenticationToken(principal, credentials);
SecurityContextHolder.getContext().setAuthentication(auth);
但同样,你还没说你实际上是试图解决什么问题?
相关问题
- 1. Android应用程序的弹簧安全
- 2. 弹簧测试-mvc框架的弹簧REST控制器测试
- 3. 弹簧安全2.0弹簧安全3.0
- 4. 使用弹簧安全与弹簧批
- 5. 弹簧安全
- 6. Angular2与弹簧靴和弹簧安全
- 7. 弹簧启动和弹簧安全4.0
- 8. 弹簧启动弹簧安全
- 9. JUnit测试与弹簧安全
- 10. 如何使用弹簧引导和弹簧安全性配置弹簧4.0 openId
- 11. 如何让jsp的弹簧应用程序线程安全?
- 12. REST和Angular 2.0的弹簧安全性
- 13. REST API的弹簧安全性
- 14. REST和JSF的弹簧安全性
- 15. grails中的弹簧安全
- 16. 在弹簧安全与弹簧websocket集成弹簧安全性和
- 17. 托管弹簧3.0 REST应用程序?
- 18. Neo4j弹簧安全
- 19. 弹簧安全表
- 20. 循序渐进的教程测试弹簧安全
- 21. 弹簧和Struts2的REST - JUnit测试
- 22. 如何在Web应用程序中配置弹簧安全性?
- 23. 尝试转换弹簧+弹簧安全+ Hibernate项目去春来+弹簧安全+ MyBatis的项目
- 24. REST API,oAuth2,弹簧安全和角色
- 25. 如何禁用弹簧应用程序登录安全?
- 26. 没有弹簧的web应用程序的弹簧配置MVC
- 27. 使用弹簧安全
- 28. 如何整合弹簧4与弹簧安全3.2.3
- 29. 安装弹簧安全插件的Grails应用程序失败
- 30. 弹簧测试和junit单元测试弹簧mvc