Тестирование пространственной базы данных SQLite (с помощью NHibernate) - PullRequest
0 голосов
/ 09 ноября 2010

Мне интересно, как лучше всего использовать NHibernate.Spatial с SQLite для тестирования?

В основном мне нужно будет иметь возможность выполнять запросы NHibernate (HQL идругие) против SQLite в памяти, где используется Spatial.

Это приводит меня к нескольким опциям:

  1. Создать поддельный диалект для SQLite, где он всегда будет возвращать предопределенные результаты.
  2. Используйте что-то вроде SpatiaLite
  3. Переключение на одну базу данных (это MSSQL2008).

Я думаю, вариант 1 должен соответствовать моемуНеобходимость.
Вариант 2, вероятно, будет излишним и не излишним.
Вариант 3 будет использоваться ТОЛЬКО в интеграционных тестах, для модульного тестирования я все еще хочу использовать SQLite из-за быстрой и простой установки.

Таким образом, реализация варианта 1 (фиктивный диалект SQLite для пространственной базы данных) должна сработать.

Мои вопросы:

  1. Существуют ли какие-либо пространственные диалекты SQLite, которые позволяют подделыватьрезультаты (всегдаs возвращает пустые множества, например)?
  2. Какие еще аллитерации вы видите?

Буду признателен за совет.

Спасибо.

1 Ответ

0 голосов
/ 29 января 2011

Если вы используете Fluent NHibernate, вы можете использовать соглашения для определения другого типа пользователя для сохранения IGeometry в SQLite. Я написал в блоге об этом решении.

...