2012-10-30 18 views
5

Czy istnieje sposób, aby DB-Unit ignorował kolejność porównywania wierszy? Moim problemem jest to, że nie wiem, w jakiej kolejności wiersze zostaną zapisane w bazie danych, ale DB-Unit zmusza mnie do wydania uporządkowanej listy.Jednostka DB powinna ignorować kolejność wierszy

Co chcę DBUnit zrobić to:

  • sprawdzić, czy liczba wierszy w bazie danych i oczekuje mecz zbiór danych (rozwiązany: Działa po wyjęciu z pudełka
  • sprawdzić, czy każda wiersze znajdą się tylko raz wynik-set. (nie został rozwiązany)

Jakieś pomysły?

Odpowiedz

9

rozwiązać ten problem dla mnie. mam sortowania wierszy rzeczywistych i oczekiwanych stołach. Dlatego używam wszystkie kolumny, które można znaleźć w oczekiwanej tabeli. Takie podejście może powodować problemy, jeśli sprawdzany stół jest duży, ale w moim przypadku tak nie jest. :-)

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