【问题标题】:Junit CXF REST API and rollback test dataJunit CXF REST API 和回滚测试数据
【发布时间】:2016-06-08 13:57:13
【问题描述】:

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

Junit

@Test
public void testDoSome()
        throws Exception {
    mockMvc.perform(
            post("/SomeAction/doSome").contentType(contentType))
            .andExpect(status().isFound());
}

我可以为简单的 REST API 编写 Junit 测试用例,并在使用 spring 测试完成测试后回滚数据。但是当涉及到 CXF 框架时我就写不出来了。我这里有两个问题。

  • 上面的 Junit 代码返回 404 响应而不是 200。

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

请帮我解决问题

【问题讨论】:

    标签: java rest junit cxf spring-test


    【解决方案1】:

    顾名思义,Spring MVC 测试框架用于测试 Spring MVC Web 和 Spring MVC REST 应用程序。

    您正在编写一个基于 JAX-RS 的 CXF REST 应用程序。

    Spring MVC REST 不是 JAX-RS 的实现。

    因此无法使用 Spring MVC 测试(即MockMvc)测试 JAX-RS 应用程序。

    要测试您的 JAX-RS 端点,您需要使用专门支持 JAX-RS 的测试框架。例如,您可能希望使用 CXF 的 JAX-RS Testing 支持,或者您可以通过 Google 搜索“jax-rs testing”来查找其他解决方案。

    【讨论】:

      【解决方案2】:

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-12-15
        • 2017-03-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多