Java Web服务的JUnit测试用例
我需要使用JUnit测试用例在Eclipse中测试RESTWeb服务。我怎样才能继续?它与普通Java类测试用例类似吗 服务: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
@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来实现它 参考以下文档,它将向您展示示例测试
你在用弹簧吗?看看你在用弹簧吗?看看