اختبار تطبيقات Rust
300 صفحات
Arabic
PDF
4.5

اختبار تطبيقات Rust

اختبار تطبيقات Rust

المؤلف:

السنة:

ملخص:

كتاب «اختبار تطبيقات Rust» هو دليل عملي شامل يساعدك على إتقان جميع جوانب الاختبار في نظام Rust البيئي. على عكس معظم كتب اللغة التي تتناول الاختبار بشكل سطحي فقط، فإن هذا الإصدار مخصص بالكامل لكيفية جعل كودك في أقصى درجات الموثوقية، باستخدام الإمكانيات المدمجة في Rust والمكتبات الشائعة.



يبدأ الكتاب بالأساسيات: ستتعلم كيفية كتابة اختبارات وحدوية بسيطة باستخدام السمة #[test]، وكيفية تنظيم وحدات الاختبار، وكيفية استخدام وحدات الماكرو assert! و assert_eq! و assert_ne!. ثم ينتقل المؤلف تدريجياً إلى مواضيع أكثر تعقيداً:



  • الاختبار التكاملي: كيفية إنشاء اختبارات تتحقق من التفاعل بين الوحدات والأنظمة الخارجية (نظام الملفات، الشبكة، قواعد البيانات).
  • اختبار الكود غير المتزامن: العمل مع tokio::test و async-std، وكتابة اختبارات للدوال والتدفقات غير المتزامنة.
  • الاختبار القائم على الخصائص: استخدام مكتبة proptest للتوليد التلقائي لبيانات اختبار عشوائية والتحقق من ثوابت الكود.
  • الكائنات الوهمية (Mock) والنماذج البديلة: كيفية عزل الكود المختبر عن التبعيات الخارجية باستخدام السمات (traits) ومكتبات mockall أو mocktopus.
  • اختبار الكود غير الآمن (unsafe): استراتيجيات التحقق من أمان وصحة كتل unsafe.
  • قياس الأداء والتنميط: كيفية كتابة اختبارات الأداء باستخدام criterion وتفسير النتائج لتحسين الأداء.
  • التكامل المستمر (CI): إعداد GitHub Actions و GitLab CI والأنظمة الأخرى للتشغيل التلقائي للاختبارات مع كل إيداع (commit).


الكتاب موجه للمطورين الذين هم على دراية بأساسيات Rust ويرغبون في رفع جودة كودهم إلى مستوى جديد. ستتعلم ليس فقط كيفية كتابة الاختبارات، بل كيفية تصميم بنية التطبيقات بحيث تكون ملائمة للاختبار. يتم إيلاء اهتمام خاص للأمثلة العملية: من اختبار محلل سطر الأوامر إلى التحقق من عمل خادم متعدد الخيوط.



في نهاية كل فصل توجد تمارين مع حلول تساعد على تثبيت المادة. يحتوي الكتاب على أكثر من 200 صفحة من الكود والشروحات، تغطي سيناريوهات حقيقية من تطوير الإنتاج (production).



ما ستتعلمه بعد القراءة:

  • كيفية كتابة اختبارات وحدوية وتكاملية وشاملة (end-to-end).
  • كيفية اختبار الكود غير المتزامن ومتعدد الخيوط دون سباقات البيانات (data races).
  • كيفية استخدام الاختبار القائم على الخصائص لاكتشاف الأخطاء النادرة.
  • كيفية إعداد CI للاختبار التلقائي وتحليل تغطية الكود.
  • كيفية تجنب الأخطاء الشائعة عند الاختبار في Rust.


هذا الكتاب هو مساعدك الموثوق في إنشاء تطبيقات آمنة ومستقرة وعالية الأداء بلغة Rust.

توصيات