Rest 为ServiceMixWeb服务编写Junit测试
我习惯于使用Spring和编写Spring RESTful web服务。我在编写Spring控制器、传入数据,然后验证返回正确的JSON数据方面没有问题 现在,我有了一项新工作,他们将RESTful web服务作为OSGI JAR部署到ServiceMix 4.5 我使用的方法定义如下:Rest 为ServiceMixWeb服务编写Junit测试,rest,junit,apache-servicemix,Rest,Junit,Apache Servicemix,我习惯于使用Spring和编写Spring RESTful web服务。我在编写Spring控制器、传入数据,然后验证返回正确的JSON数据方面没有问题 现在,我有了一项新工作,他们将RESTful web服务作为OSGI JAR部署到ServiceMix 4.5 我使用的方法定义如下: @GET @Path("myWebService") @Trace @Override @Produces({MediaType.APPLICATION_JSON})
@GET
@Path("myWebService")
@Trace
@Override
@Produces({MediaType.APPLICATION_JSON})
@WebResult(name="isDuplicate")
public MyResponse myWebService(@QueryParam("field1") final String field1, @QueryParam("fieldData") final String fieldData) throws SOAPException
{
final Session session = BundleActivator.getSessionFactory().getCurrentSession();
Transaction transaction = session.beginTransaction();
Boolean retVal = new SimpleTransaction<Boolean, Void>()
{
@Override
public Boolean execute(Void nothing)
{
Criteria criteria = session.createCriteria(tableName);
try
{
// some logic here
}
catch (JSONException e1)
{
throw new RuntimeException(e1.getMessage());
}
List<Object> recordList = (List<Object>)criteria.list();
if(recordList.size() > 0)
{
return true;
}
return false;
}
}.run(transaction, null);
}
}
这不是全部代码,但非常接近
所以,我需要做一些类似于Spring单元测试的事情。
在不了解所有深层细节的情况下,我知道我加载了Spring应用程序上下文,然后向RESTful web服务发出mockrequest,将动词GET、POST、PUT DELETE与正确的json数据一起传递,然后返回mock http响应
当我使用Google搜索如何测试Spring MVC RESTful web服务时,我可以很容易地找到这方面的所有类型的示例。当我对ServiceMix OSGI web服务执行同样的操作时,我发现没有多少。所以,我正在寻找我可以接近和查看的示例或url
如果我需要提供更多的信息,请告诉我
非常感谢 这里是我们使用CamelTestSupport测试camel路由的链接,在您的案例中修改端点,即web服务url