Заполнение SQLite в памяти для модульного тестирования - PullRequest
5 голосов
/ 24 июня 2009

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

Какие-либо лучшие практики в этом отношении? Или просто хорошие идеи?

1 Ответ

2 голосов
/ 24 июня 2009

Как насчет резервного копирования файла SQLite-Db-File?

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...