Я не согласен с использованием БД, отличной от MySQL, так как вы можете столкнуться с различиями платформ в ваших тестах, которые маскируют проблемы, которые ваш код имеет с MySQL. Часть вашего кода / SQL может даже не работать на другой платформе без изрядного рефакторинга.
Но, согласитесь с другими об использовании транзакций, а не об удалении или обновлении для восстановления состояния.
Одно предостережение: если вы используете процы, функции и т. Д., Они могут выполнить COMMIT внутри, что может испортить любые попытки откатить изменения JUnit. Возможно, это не проблема для вас, но проблема для других, о которых следует помнить, особенно когда речь идет об устаревшем коде БД, для которого модульное тестирование никогда не рассматривалось.