2009-06-24 2 views
5

Я думаю об использовании SQLite в качестве заглушки в памяти для моей базы данных Oracle. Я могу легко направить все мои команды DAL на SQLite, но теперь мне интересно, как я должен легко заполнять данные для каждого метода тестирования.
Должен ли каждый метод начинать с создания необходимой таблицы (таблиц) и вставки строк для конкретного теста? Должен ли я заполнять фазу SetUp фазы данными в памяти? Есть ли другой способ (как чтение его из какого-то файла, но отбрасывание изменений, чтобы следующее чтение было таким же)?
Может быть, мне нужно просто заглушить db с помощью обычного заглушки и вернуть локально созданные obejcts при необходимости (DataSets и DataTables)? Я думал об этом, но таким образом я не буду тестировать фактические запросы, и я пытаюсь объединить тестовые методы, которые выполняют SQL-выбор. Я хочу проверить синтаксис и правильность запросов.Заполнение SQLite в памяти для модульного тестирования

Любые лучшие практики в отношении этого? Или просто хорошие идеи?

ответ

2

Как получить резервную копию SQLite-Db-файла?

Хорошая вещь о SQLite заключается в том, что вы можете просто скопировать весь db-файл так часто, как хотите. Вы также можете иметь SQL-файлы для заполнения некоторого файла db данными. Я не понимаю вашу проблему полностью, но со смесью файлов db (как шаблонов) и (необязательно) некоторые SQL-файлы для заполнения таблиц по мере необходимости должны быть достаточными для очень сложных проблем с тестированием.

SQL-файлы также могут быть легко созданы путем сброса простых файлов и (необязательно) удаления ненужных записей или добавления дополнительных.

+0

Итак, вы думаете, что я должен хранить файл, содержащий мои начальные данные, и для каждой тестовой копии его, и открыть его с помощью sqlite? Я боюсь, что это сделает тесты нечитабельными, так как не будет очевидно, почему определенный запрос возвращает 1 строку или другое конкретное значение. Читателю приходилось постоянно проверять входной файл. Разве это не проблема? –

+0

Привет, Ноам, конечно, все зависит от тестовой среды, которая у вас есть, и что именно ваши потребности. Для хранения целого db-файла можно настроить сложную тестовую среду без необходимости ее реализации в коде. Если вы хотите, чтобы он был более читабельным, вы также можете создавать db-файл из dump-файлов каждый раз каждый новый. Файлы дампа более читабельны. Если вы хотите иметь его * все * в коде, то это так - вы все закончите в коде. – Juergen

Смежные вопросы