عند العمل مع Mockito و Hamcrest ، يمكن للعديد من المكتبات الأخرى تعزيز قدرات الاختبار الخاصة بك. فيما يلي نظرة عامة مفصلة على بعض هذه المكتبات:
Junit
** Junit هو إطار اختبار أساسي لـ Java يتكامل جيدًا مع كل من Mockito و Hamcrest. إنه يوفر مجموعة قوية من التعليقات التوضيحية والتأكيدات التي يمكن استخدامها بالاقتران مع إمكانات Mockito الساخرة ومطابقات Hamcrest. يقدم Junit 5 ، على وجه الخصوص ، ميزات محسّنة مثل الاختبارات المعلمة ودعم أفضل للاختبارات المتداخلة ، مما يجعلها أداة قوية لكتابة اختبارات الوحدة الشاملة.
PowerMock
** PowerMock هو امتداد لـ Mockito (و Easymock) يتيح لك السخرية من الأساليب الثابتة والفئات النهائية والأساليب الخاصة ، والتي لا يمكن مع Mockito وحدها. هذا مفيد بشكل خاص عند التعامل مع الكود القديم أو مكتبات الطرف الثالث غير المصممة مع مراعاة قابلية الاختبار. ومع ذلك ، يعتبر PowerMock أكثر تعقيدًا ويجب استخدامه بشكل ضئيل.
Jmock
** jmock هي مكتبة ساخرة أخرى لـ Java يمكن استخدامها إلى جانب Hamcrest. على الرغم من أنه لا يستخدم على نطاق واسع مثل Mockito ، فإن JMock يوفر مجموعة من ميزاته الخاصة لإنشاء كائنات وهمية ويمكن دمجها مع Hamcrest للحصول على المزيد من التأكيدات التعبيرية.
Easymock
** Easymock هو إطار ساخر شائع آخر يمكن استخدامه مع Hamcrest. يوفر نهجًا مختلفًا لإنشاء كائنات وهمية مقارنةً بـ Mockito ، مع التركيز على مبادئ التنمية التي تعتمد على السلوك (BDD). يمكن استخدام Easymock بالاقتران مع PowerMock للحصول على قدرات أكثر سخرية تقدمًا.
assertj
** Assertj هي مكتبة تأكيد توفر واجهة برمجة تطبيقات بطلاقة لكتابة التأكيدات. على الرغم من أنه يمكن استخدامه بشكل مستقل عن Hamcrest ، إلا أن Assertj تقدم طريقة أكثر قابلية للقراءة والتعبير لكتابة التأكيدات مقارنة بالتأكيدات التقليدية. يمكن استخدامه جنبًا إلى جنب مع Mockito للسخرية و Hamcrest لسيناريوهات المطابقة أكثر تعقيدًا.
اختبار الربيع
إذا كنت تعمل على تطبيق قائم على الربيع ، فإن اختبار Spring يوفر أدوات إضافية لاختبار مكونات الربيع. يتكامل بشكل جيد مع Mockito ويمكن استخدامه لسخرية مكونات Spring الخاصة مثل الخدمات أو المستودعات. على الرغم من أنه ليس بديلاً مباشرًا لـ Mockito ، فإن اختبار الربيع يوفر ميزات مصممة للنظام الإيكولوجي الربيعي.
باختصار ، في حين أن Mockito و Hamcrest تشكل مزيجًا قويًا لاختبار الوحدة ، فإن مكتبات مثل Junit و PowerMock و Jmock و Easymock و AssertJ و SPRING يمكن أن تعزز قدرات الاختبار الخاصة بك اعتمادًا على احتياجاتك المحددة ومتطلبات المشروع.
الاستشهادات:[1] https://www.lambdatest.com/automation-testing-advisor/selenium/methods/org.mockito.hamcrest.mockitohamcrest.mockitohamcrest
[2] https://hamcrest.org/javahamcrest/tutorial
[3] https://www.javacodegeeks.com/2015/11/hamcrest-matchers-tutorial.html
[4] https://www.infoworld.com/article/2257253/junit-5-tutorial-bart-1-unit-testing-with-junit-5-mockito-and-hamcrest.html
[5] https://stackoverflow.com/questions/20441594/mockito-and-hamcrest--to-everify-invocation-of-collection-argument
[6] https://stackoverflow.com/questions/22697/whats--best-mock-framework-for-java
[7]
[8] https://github.com/mockito/mockito/issues/324
[9] https://stackoverflow.com/questions/18770943/mockito-junit-hamcrest-versioning
[10] https://hamcrest.org/javahamcrest/distributables