Java Web服务的JUnit测试用例

Java Web服务的JUnit测试用例,java,eclipse,web-services,rest,junit,Java,Eclipse,Web Services,Rest,Junit,我需要使用JUnit测试用例在Eclipse中测试RESTWeb服务。我怎样才能继续?它与普通Java类测试用例类似吗 服务: @Path("/regionService") public class RegionService { @GET @Path("getRegions") @Produces(MediaType.APPLICATION_JSON) public String getRegions(@QueryParam("parentTenancyID") int parentTen

我需要使用JUnit测试用例在Eclipse中测试RESTWeb服务。我怎样才能继续?它与普通Java类测试用例类似吗

服务:

@Path("/regionService")
public class RegionService {

@GET
@Path("getRegions")
@Produces(MediaType.APPLICATION_JSON)
public String getRegions(@QueryParam("parentTenancyID") int parentTenancyID) throws CustomFault{
    String result = null;
    RegionServiceImpl implObj = new RegionServiceImpl();
    if(parentTenancyID!=0){
        try{
            result = implObj.getRegionServiceDetails(parentTenancyID);
        }catch(Exception e){
            e.printStackTrace();
        }
    }
    return result;
   }
}
实施:

    public class RegionServiceImpl {
    @SuppressWarnings({ "rawtypes", "unchecked" })
    public String getRegionServiceDetails(int parentTenancyID) {

    String result = null;
    Logger fLogger = FatalLoggerClass.logger;
    Session session = HibernateUtil.getSessionFactory().getCurrentSession();
    session.beginTransaction();
    String regionQ = "select a.tenancy_id, a.tenancy_name from TenancyEntity a where Parent_Tenancy_ID=" +parentTenancyID+" ";
    Query query = session.createQuery(regionQ);

    try{
        Iterator iterator = query.list().iterator();
        Object[] resultQ = null;
        HashMap<Integer,String> regionMap = new HashMap<Integer,String>();
        JSONObject jsonObj = null;
        JSONArray jsonArray = new JSONArray();
        jsonObj = new JSONObject();
        while(iterator.hasNext()){
            resultQ = (Object[]) iterator.next();
            int tenancyId = (Integer) resultQ[0];
            String TenancyName =  (String) resultQ[1];
            regionMap.put(tenancyId, TenancyName);
        }
        jsonObj.putAll(regionMap);
        jsonArray.add(jsonObj);
        result = jsonArray.toString();

    }catch(Exception e){
        fLogger.fatal("Exception :"+e);
    }finally{
        if(session.getTransaction().isActive()){
            session.getTransaction().commit();
        }if(session.isOpen()){
            session.flush();
            session.close();
        }
    }
    return result;
}
}
公共类RegionServiceImpl{
@SuppressWarnings({“rawtypes”,“unchecked”})
公共字符串getRegionServiceDetails(int-ParentEntancyID){
字符串结果=null;
Logger fLogger=fatalogerClass.Logger;
会话会话=HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
String regionQ=“从租户实体a中选择a.tenancy\u id、a.tenancy\u名称,其中父租户\u id=“+parenttenancy id+”;
Query=session.createQuery(regionQ);
试一试{
迭代器迭代器=query.list().Iterator();
对象[]resultQ=null;
HashMap regionMap=新的HashMap();
JSONObject jsonObj=null;
JSONArray JSONArray=新的JSONArray();
jsonObj=新的JSONObject();
while(iterator.hasNext()){
resultQ=(对象[])迭代器。下一步();
int tenacyId=(整数)resultQ[0];
字符串tenacyName=(字符串)resultQ[1];
regionMap.put(tenancyId,TenancyName);
}
jsonObj.putAll(区域地图);
jsonArray.add(jsonObj);
结果=jsonArray.toString();
}捕获(例外e){
fLogger.fatal(“异常:+e”);
}最后{
if(session.getTransaction().isActive()){
session.getTransaction().commit();
}if(session.isOpen()){
session.flush();
session.close();
}
}
返回结果;
}
}

我想检查服务的JSON响应是否等于预期值。

您可以使用JaxRS的WebClient 参考以下文档,它将向您展示示例测试


您可以使用JaxRS的WebClient来实现它 参考以下文档,它将向您展示示例测试


你在用弹簧吗?看看你在用弹簧吗?看看