Я хочу высмеять ResultSet. Шутки в сторону. Я реорганизую один большой сложный фрагмент кода, который анализирует данные из ResultSet, и я хочу, чтобы мой код вел себя одинаково. Поэтому мне нужно написать unit test для рефакторинга, чтобы проверить это.
После googling я придумал 2 идеи:
- Используйте EasyMock, напишите looooong mocking sequence. Решение VERY BAD: трудно добавлять исходные данные, трудно изменить данные, большие отладочные обещания для тестирования.
- Используйте Apache Derby или HSQLDB для создания БД в памяти, заполните его из файла или массива String, запросите некоторые магические InMemoryDBUtils.query(sql). Затем используйте этот ResultSet. К сожалению, я не нашел волшебных InMemoryDBUtils, чтобы быстро написать тест:-). Статья IBM "Изолированное единичное тестирование настойчивости с Derby" кажется просто прекрасным в том, что мне нужно, хотя...
Второй подход выглядит несколько проще и гораздо более удобным.
Что бы вы посоветовали создать такой макет? (несмотря на врачей, конечно:-)? Я пропустил <ударить > бровь серебряную пулю? Возможно, DBUnit - это инструмент для этого?