«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Является ли MariaDB4j решением для тестирования MySQL в памяти с помощью JUnit?

Является ли MariaDB4j решением для тестирования MySQL в памяти с помощью JUnit?

Опубликовано 15 ноября 2024 г.
Просматривать:260

Is MariaDB4j the Solution for In-Memory MySQL Testing with JUnit?

Можно ли использовать 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