Можно ли использовать MySQL в памяти для тестирования JUnit?
При разработке программного обеспечения тестирование взаимодействия с базой данных имеет важное значение, но для этого может потребоваться полноценная настройка и управление базой данных. Чтобы упростить этот процесс, некоторые разработчики используют базы данных SQLite или H2 для тестирования в памяти. Однако есть ли возможность использовать сам MySQL в этом контексте?
Решение: MariaDB4j
Ответ заключается в MariaDB4j, зависимости Gradle/Maven, которая обеспечивает полную совместимая база данных MySQL в памяти для тестирования JUnit. Требуется минимальная настройка:
DB database = DB.newEmbeddedDB(3306); database.start(); Connection connection = DriverManager.getConnection("jdbc:mysql://localhost/test", "root", "");
Для дополнительной инициализации можно включить скрипт запуска:
database.source("path/to/resource.sql");
Соображения
Хотя MariaDB4j предоставляет встроенное решение MySQL, оно не работает исключительно в памяти. Он создает временные файлы во временной папке системы. В результате это не настоящее решение в памяти, и тесты, использующие его, могут отклоняться от традиционного определения модульного тестирования, которое диктует независимость от внешних ресурсов.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3