gpt4 book ai didi

java - Junit CXF REST API 和回滚测试数据

转载 作者:行者123 更新时间:2023-12-01 09:49:24 24 4
gpt4 key购买 nike

我想为 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 测试回滚数据。但是涉及到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 的测试框架。例如,您可能想要使用 JAX-RS Testing来自 CXF 的支持,或者您可以 Google“jax-rs 测试”来查找其他解决方案。

关于java - Junit CXF REST API 和回滚测试数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37704626/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com