У меня есть функция функциональности, настраивающая функцию аудита приложения (базы данных MySQL). Вот что он делает: - получить всю структуру таблиц базы данных - создать соответствующую таблицу аудита (или изменить существующий) - воссоздать основные таблицы триггеров захвата какие-либо данные изменитьКак проверить изменение DDL
Сейчас я думаю о том, как написать тест это. Я создал тест интеграции в реальном времени, изменяя структуру db, запустив это проверочное настроечное объявление, проверяя его правильность, но это не тот тест, который я могу включить в приложение (он изменяет реальную базу данных). Действительно ли можно выполнить тестирование этой функции и как, если да? Как имитировать и проверить изменение DDL?
Не могли бы вы запустить его в базе данных в памяти, такой как Derby, в ваших модульных тестах? – DaveH
Нет, я не могу. Синтаксис DDL довольно специфичен для базы данных, поэтому я не буду работать в другой базе данных без изменений, я пробовал H2 до сих пор, и он терпит неудачу. – smoczyna
Я могу представить только один способ проверить его прямо сейчас, а именно проверку количества таблиц, столбцов и триггеров (правильность материалов аудита) после полной установки. Он тестирует результат скорее, чем сама функциональность, но это лучше, чем ничего. – smoczyna