Рандомизировать результаты строки базы данных - PullRequest
0 голосов
/ 22 июня 2010

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

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

Я использую java, junit, spring, hibernate, dbunit, jdbc и postgresql.

Одна из моих идей заключалась в том, чтобы где-то перехватывать тестовые запросы, и, если запрос не включает в себя порядок упорядочения, затем захватить все результаты и вернуть их в случайном порядке.

Где было бы проще всего перехватить и проверить запрос?

Существуют ли другие простые способы идентификации таких тестов?

1 Ответ

1 голос
/ 22 июня 2010

Вы можете взглянуть на расширение EmptyInterceptor в Hibernate и, в частности, метод onPrepareStatement.Если SQL-запрос, переданный в качестве аргумента, не содержит предложение order by, вы можете попробовать добавить к нему order by random().

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