Чтобы инициализировать базу данных начальным набором данных, просто реализуйте эти методы в своем тестовом примере:
@Override
protected DatabaseOperation getSetUpOperation() throws Exception
{
return DatabaseOperation.CLEAN_INSERT; // by default (will do DELETE_ALL + INSERT)
}
@Override
protected DatabaseOperation getTearDownOperation() throws Exception
{
return DatabaseOperation.NONE; // by default
}
У вас могут быть ограничения внешних ключей, если некоторые из ваших тестов вставляют строки в пустую таблицу (например, не определена в исходном наборе данных).
Просто добавьте эту пустую таблицу в ваш набор данных без какой-либо строки:
<mydb_mypopulatedtable id="1" name="toto" alias="funky"/>
<mydb_mypopulatedtable id="2" name="titi" alias="groovy"/>
<mydb_mypopulatedtable id="3" name="tutu" alias="creepy"/>
<mydb_myemptytable />
Здесь myemptytable имеет внешний ключ для mypopulatedtable. Если myemptytable не был определен, DBUnit попытается удалить mypopulatedtable, но потерпит неудачу из-за ограничения. Если определено, DBUnit удалит мои пустые строки раньше.