Rest 为ServiceMixWeb服务编写Junit测试

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})

我习惯于使用Spring和编写Spring RESTful web服务。我在编写Spring控制器、传入数据,然后验证返回正确的JSON数据方面没有问题

现在,我有了一项新工作,他们将RESTful web服务作为OSGI JAR部署到ServiceMix 4.5

我使用的方法定义如下:

   @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