Просто: перевірити фактичний DAO, а не вміст бази даних.
Припустимо, у вашому класі DAO Person є метод getByName (). Ви пишете тест і дзвоните в Person.getByName ("Джон Сміт"). Припустимо, тест не вдався, оскільки хтось вилучив запис Джона з бази даних. Тепер кожне програмне забезпечення CI та ваші керівники / рецензенти можуть стверджувати, що програмне забезпечення є несправним, а насправді це не так. Якщо ви знущаєтесь з БД, ви можете довести, що ваш DAO працює, якщо йому задано правильний рядок з правильної таблиці.
Якщо ви дійсно хочете перевірити саму базу даних, тобто: якщо виконання певного методу DAO приводить дані у певний стан, то це також можливо. Більше того, це справді корисно з дурними моделями даних (EAV, вкладений набір дерев), де ви не можете очікувати, що база даних забезпечить цілісність цілісності. Погляньте на DBUnit, щоб полегшити ваше життя.