Наконец, я нашел лучшее решение.
Прочитав разные заметки, я думаю, что лучшим решением будет: Не для использования в базах данных памяти, таких как H2 или Fon go и если вы действительно этого хотите, вы должны использовать Docker контейнер, как ваша основная база данных.
Это потому, что базы данных памяти могут иметь не все поведение, такое же, как ваша основная база данных, как показано ниже:
1- Postgres имеет мощные функции, такие как оконные функции и типы данных JSON, которые не поддерживаются H2
2- Например, мы хотели использовать функцию MySQL unix_timestamp (), чтобы не зависеть от различных часовых поясов, где наш MySQL серверы баз данных работают. Мы хотим предотвратить небольшие неточности. Но этой функции нет в H2, поэтому мы не могли их использовать
И ...
Но если мы используем ту же базу данных, что и основная база данных (Docker контейнер), наш тест настолько улучшен, и, наконец, мы предотвращаем появление большинства ошибок базы данных после сборки проекта или развертывания в основной (окончательной) базе данных.
Прочтите приведенные ниже ссылки, которые могут вам помочь:
1- https://phauer.com/2017/dont-use-in-memory-databases-tests-h2/
2- https://medium.com/@sanchezdale / using-a-containerized-database-for-testing-spring-boot-applications-56ad38d39e15
надеюсь на помогите кому-нибудь.