我想为REST API编写Junit测试用例。这些API是使用CXF框架编写的。
web.xml:
<servlet-mapping>
<servlet-name>CXFServlet</servlet-name>
<url-pattern>/api/*</url-pattern>
</servlet-mapping>
spring-config.xml:
<jaxrs:server id="/SomeAction" address="/SomeAction" staticSubresourceResolution="true" publishedEndpointUrl="${endpointUrl}/SomeAction">
<jaxrs:serviceBeans>
<ref bean="SomeWebService"></ref>
</jaxrs:serviceBeans>
<jaxrs:providers>
<ref bean="jsonProvider"></ref>
<ref bean="exceptionMapper"></ref>
</jaxrs:providers>
</jaxrs:server>
网络服务:
@Override
@POST
@Consumes("application/json")
@Produces("application/json")
@Path("/doSome")
public WSResponse doSome(WSRequest request) {
//Do Some operation
}
朱尼特
@Test
public void testDoSome()
throws Exception {
mockMvc.perform(
post("/SomeAction/doSome").contentType(contentType))
.andExpect(status().isFound());
}
我可以为简单的REST API编写Junit测试用例,并在使用spring test完成测试后回滚数据。但是当涉及到CXF框架时,我无法写。我在这里有两个问题。
上面的Junit代码返回404响应,而不是200。
我想在测试完成后回滚数据
请帮我解决问题
顾名思义,Spring MVC测试框架用于测试Spring MVC Web和Spring MVC REST应用程序。
您正在编写一个基于JAX-RS的CXF REST应用程序。
Spring MVC REST不是JAX-RS的实现。
因此,无法使用Spring MVC Test(即MockMvc
)来测试JAX-RS应用程序。
要测试您的JAX-RS端点,您将需要使用一个对JAX-RS专门支持的测试框架。例如,您可能想使用CXF的JAX-RS测试支持,或者您可以通过Google“ jax-rs测试”找到其他解决方案。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句