Junit CXF REST API和回滚测试数据

塞尔瓦库玛·波努萨米(Selvakumar Ponnusamy)

我想为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。

  • 我想在测试完成后回滚数据

请帮我解决问题

山姆·布兰嫩(Sam Brannen)

顾名思义,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专门支持的测试框架。例如,您可能想使用CXFJAX-RS测试支持,或者您可以通过Google“ jax-rs测试”找到其他解决方案。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章