2012-06-01 6 views
1

나는 나의 DAO 클래스의 모의를 만들고 싶다. 어떻게 GenericDao의 다음 메소드를 조롱 할 수 있습니까? 이 내부단위 테스트를위한 모의 DAO

public List<T> getList(int max, int p) throws DataAccessException { 
    String t= type.getT(); 
    String sql = "from " + t+ " order by id desc"; 
    List<T> o= HibernateUtils(type, this.getSession().createQuery(sql).setFirstResult(max* (p- 1)).setMaxResults(max).list()); 
    return o; 
} 

뭔가 : 다음

@Override 
public List<T> getList(int maxResults, int pageNumber) { 
    List<T> list = new ArrayList<T>(); 

    //...... 

    return list; 
} 

답변

1

전화 getList() 및 페이지로 그것을 잘라 결과에 subList() 방법을 사용합니다.

지도 순서로 LinkedHashMap을 사용하여 값의 순서가 변경되지 않도록해야합니다.

이 시도 :

@Override 
public List<T> getListByPage(int maxResults, int pageNumber) { 
    List<T> list = getList(); 

    if(list.size() > maxResults) { 
     list = list.subList(0, maxResults); 
    } 

    int start = pageNumber * pageSize; 
    int end = Math.min(start + pageSize, list.size()); 

    if(list.size() < start) { 
     list = new ArrayList<T>(); 
    } else { 
     list = list.subList(start, end); 
    } 

    return list; 
} 
+0

당신이 나에게 getListByPage 방법의 가능한 구현을 보여 주실 래요? thanks – unnamed

+0

"pageNumber"는 무슨 뜻입니까? –

+0

페이지 번호는 존재하는 총 페이지 수입니다. 내 webapp에서 pagiantion 않았다. – unnamed

관련 문제