Как я могу установить вывод now() в MySQL?

Мы хотим запустить автоматические тесты для хранимых процедур и функций MySQL, когда тесты сравнивают фактические и ожидаемые значения.

Проблема в том, что даже если мы запускаем скрипт фикстуры перед каждым тестом, большинство наших подпрограмм могут возвращать разные результаты при одних и тех же входных данных - мы выполняем много работы с датой и временем, на которую опирается now, (now это встроенная функция для возврата текущей даты и времени.)

Как мы можем "заморозить" то, что now возвращается в нашу тестовую базу данных?

Лучшее решение, которое я могу придумать, - это заменить все звонки на now на вызовы пользовательской функции. В нашей базе данных prod эта пользовательская функция просто вызовет встроенную nowи в нашей базе данных разработчиков он вернет статическую дату.

Есть ли более простой способ, например что-то вроде SET global.CURRENT_TIME = '2015-01-01 00:00:00';?

0 ответов

Другие вопросы по тегам