Использование MYSQL DB, модульное тестирование с HSQLDB = Проблемы - PullRequest
0 голосов
/ 21 августа 2010

Недавно я изменил запрос MYSQL, используя ключевое слово RLIKE, однако, когда я запустил модульный тест, использующий HSQLDB для макета базы данных, он генерирует неизвестное исключение токена SQL.

Чтобы решить эту проблему, я закомментировал эти тесты, но хотел бы найти обходной путь, чтобы реально проверить свой код.

Мой google-fu не привел к решению, так как кажется, что документация HSQLDB отсутствует, любая помощь будет оценена.

Ответы [ 3 ]

2 голосов
/ 21 августа 2010

Я думаю, что мораль этой истории такова: запускайте свои тесты с тем же программным стеком, который вы собираетесь развернуть.

Если вы тестируете в другой среде, ваши тесты могут пройти, но ваше приложение не будет работать- это плохо.

1 голос
/ 21 августа 2010

RLIKE - нестандартный оператор, и HSQL его не поддерживает.Если вы хотите продолжить тестирование с помощью HSQL, вам придется переписать ваш запрос, используя операторы LIKE или другой стандартный метод.Кроме того, вы можете смоделировать взаимодействие с базой данных, например, dbunit .

0 голосов
/ 25 августа 2010

Эквивалентом в HSQLDB 2.0 является функция

REGEXP_MATCHES (,)

и использование

ВЫБРАТЬ ... ГДЕ REGEXP_MATCHES (mystring, regexpr)

Последняя версия Hibernate 3.5.5 поддерживает HSLQDB 2.0

...