يتبع GoogleTest الآن فلسفة Abseil Live at Head. نوصي بالتحديث إلى أحدث التزام في الفرع main
كلما كان ذلك ممكنًا. نحن ننشر أحيانًا إصدارات دلالية، تحمل علامة v${major}.${minor}.${patch}
(على سبيل المثال، v1.15.2
).
وثائقنا متاحة الآن على صفحات GitHub على https://google.github.io/googletest/. نوصي بتصفح الوثائق على صفحات GitHub بدلاً من تصفحها مباشرة في المستودع.
الإصدار 1.15.2 متاح الآن.
يتطلب الفرع 1.15.x الإصدار C++14 على الأقل.
نحن نستخدم أنظمة Google الداخلية للتكامل المستمر.
نحن نخطط للاعتماد على أبسيل.
يعد هذا المستودع بمثابة دمج لمشروعي GoogleTest وGoogleMock المنفصلين سابقًا. كانت هذه مرتبطة ارتباطًا وثيقًا لدرجة أنه من المنطقي الحفاظ عليها وإطلاقها معًا.
راجع دليل مستخدم GoogleTest للحصول على الوثائق. نوصي بالبدء باستخدام GoogleTest Primer.
يمكن العثور على مزيد من المعلومات حول إنشاء GoogleTest على googletest/README.md.
إطار اختبار xUnit:
يعتمد Googletest على إطار عمل اختبار xUnit، وهو عبارة عن بنية شائعة لاختبار الوحدات
اكتشاف الاختبار:
يكتشف Googletest اختباراتك ويديرها تلقائيًا، مما يلغي الحاجة إلى تسجيل اختباراتك يدويًا
مجموعة غنية من التأكيدات:
يوفر Googletest مجموعة متنوعة من التأكيدات، مثل المساواة وعدم المساواة والاستثناءات والمزيد، مما يجعل من السهل اختبار الكود الخاص بك
التأكيدات المحددة من قبل المستخدم:
يمكنك تحديد التأكيدات الخاصة بك باستخدام Googletest، مما يجعل من السهل كتابة الاختبارات الخاصة بالرمز الخاص بك
اختبارات الموت:
يدعم Googletest اختبارات الموت، التي تتحقق من خروج الكود الخاص بك بطريقة معينة، مما يجعله مفيدًا لاختبار كود معالجة الأخطاء
حالات الفشل المميتة وغير المميتة:
يمكنك تحديد ما إذا كان يجب التعامل مع فشل الاختبار على أنه فادح أم غير فادح باستخدام Googletest، مما يسمح للاختبارات بمواصلة التشغيل حتى في حالة حدوث فشل
اختبارات معلمات القيمة:
يدعم Googletest الاختبارات ذات معلمات القيمة، والتي يتم تشغيلها عدة مرات بقيم إدخال مختلفة، مما يجعلها مفيدة لاختبار الوظائف التي تأخذ مدخلات مختلفة
اختبارات نوع المعلمة:
يدعم Googletest أيضًا اختبارات معلمات النوع، التي تعمل مع أنواع بيانات مختلفة، مما يجعله مفيدًا لاختبار الوظائف التي تعمل مع أنواع بيانات مختلفة
خيارات مختلفة لإجراء الاختبارات:
يوفر Googletest العديد من الخيارات لتشغيل الاختبارات بما في ذلك تشغيل الاختبارات الفردية، وتشغيل الاختبارات بترتيب معين، وتشغيل الاختبارات بالتوازي
يتبع GoogleTest سياسة دعم Google التأسيسية لـ C++. راجع هذا الجدول للحصول على قائمة بالإصدارات المدعومة حاليًا من المترجمين والأنظمة الأساسية وأدوات البناء.
بالإضافة إلى العديد من المشاريع الداخلية في Google، يتم استخدام GoogleTest أيضًا في المشاريع البارزة التالية:
مشاريع Chromium (خلف متصفح Chrome ونظام التشغيل Chrome).
المترجم LLVM.
المخازن المؤقتة للبروتوكول، تنسيق تبادل البيانات من Google.
مكتبة الرؤية الحاسوبية OpenCV.
GTest Runner عبارة عن اختبار آلي قائم على Qt5 وواجهة مستخدم رسومية مع ميزات قوية لمنصات Windows وLinux.
GoogleTest UI عبارة عن مشغل اختبار يقوم بتشغيل الاختبار الثنائي الخاص بك، ويسمح لك بتتبع تقدمه عبر شريط التقدم، ويعرض قائمة بحالات فشل الاختبار. النقر على واحد يظهر نص الفشل. تمت كتابة واجهة مستخدم GoogleTest بلغة C#.
GTest TAP المستمع هو مستمع الأحداث لـ GoogleTest الذي ينفذ بروتوكول TAP لإخراج نتيجة الاختبار. إذا كان عداء الاختبار الخاص بك يفهم TAP، فقد تجده مفيدًا.
gtest-parallel هو برنامج تشغيل اختباري يقوم بإجراء اختبارات من الملف الثنائي الخاص بك بالتوازي لتوفير سرعة كبيرة.
يعد GoogleTest Adaptor امتدادًا لرمز VS يسمح بعرض GoogleTest في عرض الشجرة وتشغيل/تصحيح اختباراتك.
C++ TestMate هو امتداد VS Code يسمح بعرض GoogleTest في عرض الشجرة وتشغيل/تصحيح اختباراتك.
Cornichon هو محلل صغير لـ Gherkin DSL يقوم بإنشاء رمز كعب لـ GoogleTest.
يرجى قراءة CONTRIBUTING.md
للحصول على تفاصيل حول كيفية المساهمة في هذا المشروع.
اختبار سعيد!