2012-10-30 5 views
5

행을 비교해야하는 순서를 무시하도록 DB-Unit에 알리는 방법이 있습니까? 내 문제는, 어떤 순서로 데이터베이스에 행이 쓰여지는지 알지 못한다는 것이지만 DB-Unit은 순서가 지정된 목록을 제공하도록 강요합니다. 내가하고 DbUnit을 원하는 것은DB 단위는 행의 순서를 무시해야합니다

은 다음과 같습니다

  • 체크 해당 데이터베이스의 행 번호와 해결 기대 데이터 세트 경기 (: 상자
  • 검사에서 작동 각 행이 한 번에 찾을 수 있는지 여부 결과 세트. (해결되지)

어떤 아이디어?

답변

9

나를 위해이 문제를 해결했다. 나는 그래서 내가 사용합니다. 실제 예상 테이블의 행을 정렬하고있어 예상되는 테이블에서 찾을 수있는 모든 열. 이 방법은 검사하려는 테이블이 크면 문제가 될 수 있지만 제 경우에는 그렇지 않습니다. :-)

Column[] expectedColumns = expectedTable.getTableMetaData().getColumns(); 
ITable sortedExpected = new SortedTable(expectedTable, expectedColumns); 
ITable sortedActual = new SortedTable(actualTable, expectedColumns); 
Assertion.assertEquals(sortedExpected, sortedActual); 
관련 문제