"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > هل MariaDB4j هو الحل لاختبار MySQL في الذاكرة باستخدام JUnit؟

هل MariaDB4j هو الحل لاختبار MySQL في الذاكرة باستخدام JUnit؟

تم النشر بتاريخ 2024-11-15
تصفح:886

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