عن المشروع
GoogleTest هو إطار عمل Google لاختبار C++، تم تشكيله من خلال دمج مشروعي GoogleTest وGoogleMock اللذين كانا منفصلين سابقًا. وهو إطار عمل لاختبار الوحدات قائم على xUnit يكتشف الاختبارات ويشغّلها تلقائيًا، لذا لا يلزم تسجيل الاختبارات يدويًا.
تشمل القدرات الرئيسية الموصوفة في ملف README مجموعة غنية من الإثراءات (المساواة، عدم المساواة، الاستثناءات، وغيرها)، وإثراءات يحددها المستخدم، واختبارات الموت التي تتحقق من كيفية خروج الكود، ودعم كل من الإخفاقات القاتلة وغير القاتلة بحيث يمكن أن يستمر تشغيل الاختبار بعد حدوث فشل. كما يدعم الاختبارات المُعاملة بالقيم التي تُشغّل بشكل متكرر بمدخلات مختلفة، والاختبارات المُعاملة بالأنواع التي تُشغّل بأنواع بيانات مختلفة. توجد خيارات متعددة لتشغيل الاختبارات، بما في ذلك تشغيل اختبارات فردية، وتشغيل الاختبارات بترتيب محدد، وتشغيل الاختبارات بالتوازي.
تتوفر الوثائق على GitHub Pages، مع التوصية بـ GoogleTest Primer كنقطة بداية. الإصدار 1.18.0 متاح، ويتطلب فرع 1.18.x على الأقل C++17. يتبع المشروع سياسة Google لدعم C++ الأساسي فيما يتعلق بالمترجمات والمنصات وأدوات البناء المدعومة. يلاحظ ملف README أن Google تستخدم أنظمة داخلية للتكامل المستمر وأن هناك اعتمادًا مخططًا على Abseil.
تشمل المستخدمين البارزين المذكورين في ملف README مشاريع Chromium، ومترجم LLVM، وProtocol Buffers، ومكتبة الرؤية الحاسوبية OpenCV. تشمل المشاريع مفتوحة المصدر ذات الصلة GTest Runner (مشغل اختبار وواجهة رسومية لـ Qt5)، وGoogleTest UI (مشغل اختبار لـ C#)، وGTest TAP Listener (إخراج بروتوكول TAP)، وgtest-parallel (تنفيذ الاختبارات بالتوازي)، وإضافات VS Code مثل GoogleTest Adapter وC++ TestMate. يُذكر Cornichon كمحلل لغوي لـ Gherkin يولد شيفرة تجريبية لـ GoogleTest. تفاصيل المساهمة موجودة في CONTRIBUTING.md.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.