Ваш подход кажется нормальным, но чтобы сохранить его в чистоте, вы можете поместить код в пользовательский HandlerInterceptor
, который срабатывает только при наличии HTTP 201, например.
См. здесь для получения дополнительной информации.
Сначала проверьте настройки вашего теста на убедитесь, что это именно то, что вам нужно, хотя я подозреваю, что у вас может быть причина запретить стандартную практику запуска теста в транзакции (которая откатывается при выходе).
Другие варианты:
(1) Вручную используйте транзакции для тестов, подобных приведенному выше (где транзакции еще нет), плюс
(2) Добавьте метод удаления
, чтобы вручную очистить соответствующие таблицы.
Вы можете переопределить метод setup
в своем модульном тесте, чтобы он удалял данные, которые вы хотите очистить.