2012-10-30 10 views
5

C'è un modo per indicare a DB-Unit di ignorare l'ordine in cui devono essere confrontate le righe? Il mio problema è che non so in quale ordine le righe verranno scritte nel database, ma DB-Unit mi obbliga a dare una lista ordinata.L'unità DB deve ignorare l'ordine delle righe

Quello che voglio DBUnit fare è:

  • verifica che il numero di righe nel database e abbinare insieme di dati attesi (Risolto: funziona fuori dalla scatola
  • verifica se ogni file saranno trovati solo una volta in il risultato-set. (NON RISOLTO)

Tutte le idee?

risposta

9

risolto questo problema per me. sto ordinamento delle righe delle tabelle effettivi e quelli attesi. Perciò io uso tutte le colonne che possono essere trovate nella tabella prevista. Questo approccio potrebbe causare problemi se la tabella che si sta controllando è grande, ma nel mio caso non lo è. :-)

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