2017-07-10 15 views
1

JUnitテストケースを使用して、EclipseでREST Webサービスをテストする必要があります。どうすればいいですか?通常のJavaクラスのテストケースと似ていますか?WebサービスのJUnitテストケース

サービス:

@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; 
} 
} 

私はサービスからJSONレスポンスが期待値と同じになりますかどうかを確認したいです。それは次のドキュメントを参照してください ため

+0

が表示されますか? – Jobin

+1

https://github.com/rest-assured/rest-assuredをご覧ください –

答えて

関連する問題