وcrpcut (وضوحا "قطع حماقة") هو Compartmented قوية POSIX C ++ وحدة تستر. مع crpcut فإنه من السهل لكتابة الاختبارات التي أطر أخرى وحدة اختبار لا يمكن إدارة.
المثال التمهيدي:
مثال اختبار أجزاء من الأمراض المنقولة جنسيا :: سلسلة:
على & nbsp؛ # تشمل
على & nbsp؛ # تشمل <سلسلة>
على & nbsp؛ البنية apastr // اعبا اساسيا لmosts الاختبارات
على & nbsp؛ {
على & nbsp؛ apastr (): ق ("APA") {}
على & nbsp؛ الأمراض المنقولة جنسيا :: سلسلة S؛
على & nbsp؛}؛
على & nbsp؛ TESTSUITE (الأساسيات)
على & nbsp؛ {
على & nbsp؛ اختبار (default_constr_and_destr)
على & nbsp؛ {
على & nbsp؛ الأمراض المنقولة جنسيا :: سلسلة S؛
على & nbsp؛ ASSERT_TRUE (s.empty ())؛
على & nbsp؛ ASSERT_EQ (s.length ()، 0)؛
على & nbsp؛}
على & nbsp؛ اختبار (constr_from_char_array، apastr،
على & nbsp؛ DEPENDS_ON (default_constr_and_destr))
على & nbsp؛ {
على & nbsp؛ ASSERT_EQ (s.length ()، 3UL)؛
على & nbsp؛}
على & nbsp؛ اختبار (في، apastr،
على & nbsp؛ DEPENDS_ON (default_constr_and_destr))
على & nbsp؛ {
على & nbsp؛ ASSERT_EQ (s.at (1)، 'ص')؛
على & nbsp؛}
على & nbsp؛}
على & nbsp؛ TESTSUITE (أخطاء، DEPENDS_ON (ALL_TESTS (الأساسيات)))
على & nbsp؛ {
على & nbsp؛ اختبار (at_out_of_range، apastr،
على & nbsp؛ EXPECT_EXCEPTION (الأمراض المنقولة جنسيا :: out_of_range))
على & nbsp؛ {
على & nbsp؛ s.at (4)؛
على & nbsp؛}
على & nbsp؛ اختبار (index_oper_out_of_range، apastr،
على & nbsp؛ EXPECT_SIGNAL_DEATH (SIGABRT)،
على & nbsp؛ NO_CORE_FILE)
على & nbsp؛ {
ونبسب؛ ق [4].
على & nbsp؛}
على & nbsp؛}
على & nbsp؛ كثافة العمليات الرئيسية (الباحث ARGC، شار * ARGV [])
على & nbsp؛ {
على & nbsp؛ العودة crpcut :: :: test_case_factory run_test (ARGC، ARGV)؛
على & nbsp؛}
اختبارات فوائد مماثلة من يجري تجميعها في اختبار الأجنحة. يمكن اختبار أجنحة يعتمد على غيرها من الأجنحة الاختبار، وهذا يعني أن سيتم تشغيل الاختبارات الواردة إلا إذا أنهوا جميع الاختبارات أنها تعتمد على بنجاح. النتائج يمكن التحقق من صحة باستخدام عدد من وحدات الماكرو ASSERT. يمكن استخدام الاختبارات ومواعيد المباريات للتعبير عن محتويات المشتركة. ويمكن توقع للخروج من استثناء، أو يموت الاختبارات. توقعات بأن لا يتم الوفاء هي أخطاء. الرسائل على ستدير والمعياري هي gaught، وشملت في سجل النتيجة.
لماذا crpcut
الأهم من ذلك، يجب أن يكون من السهل لكتابة الاختبارات. مع crpcut، عليك التركيز على الهيكل الخاص واختبار المنطق، وليس على الحدود التي تفرضها بيئة الاختبار.
مع crpcut، في كل حالة اختبار يعمل في العملية الخاصة بها ودليل العمل الخاص به. إذا فشل حالة اختبار، عملية تنتهي فورا، قبل أن يفعل المزيد من الضرر. وهذا يعني أن كل حالة اختبار تبدأ من سجلا نظيفا، لم تتأثر اختبارات أخرى. هذا هو التقسيم.
وهذا يعني أيضا أن جناح اختبار يستمر، حتى إذا تعطل اختبار. يمكنك تحديد مواعيد نهائية لحالات الاختبار، وإذا كان الوقت المسموح به هو المكشوف على محمل الجد، وقتل عملية حالة اختبار. هذين تشكل جزءا متانة.
يمكنك تحديد التبعيات بين حالات الاختبار وبين أجنحة الاختبار، بحيث إذا فشل الاختبارات الأساسية، لن حتى يتم تشغيل الاختبارات التي تستند إلى وظائف أساسية.
لم يقم العملية الرئيسية crpcut أي ذاكرة ديناميكية المخصصة في وقت بدأت عملية حالة اختبار، حتى تتمكن من تشغيل crpcut باستخدام أداة اختبار الذاكرة، مثل valgrind، وإذا كان هناك الذاكرة المخصصة عند إنهاء عملية حالة اختبار، وكنت يمكن ان تتأكدوا من انه قد وجدت تسرب للذاكرة في الاختبار.
إذا كان لديك وحدة المعالجة المركزية متعددة النوى، قد يكون من المفيد لتشغيل عدة حالات الاختبار بشكل متواز. crpcut يسمح ذلك.
إذا كان هناك ملفات اليسار في عملية اختبار 'دليل العمل بعد عملية حالة اختبار أنهى، ويعتبر فشل حالة اختبار. يتم ترك دليل العمل بمنأى عن crpcut، لأنك لدراسة
ما هو الجديد في هذا الإصدار:.
هذا الإصدار يدعم توزيعات مع الإصدارات القديمة من CMake.
ما هو الجديد في الإصدار 1.9.1:
libcrpcut_basic.so بنيت ولكن غير مثبت
ما هو الجديد في الإصدار 1.8.4:
هذا هو الافراج عن بوغفيكس طفيفة تصحيح مشاكل الأجهزة valgrind، تبعيات اختبار ومعيبة السمة مدة الاختبار في تقارير XML.
ما هو الجديد في الإصدار 1.8.2:
هذا التحسين ميزة طفيفة يجعل المعلمة سطر الأوامر --timeout-مضاعف = معامل الآن أيضا تأثير على مهلة لبناء لاعبا اساسيا و الدمار.
ما هو الجديد في الإصدار 1.8.1:
هذا التحسين ميزة طفيفة يجعل المعلمة سطر الأوامر --timeout-مضاعف = معامل الآن أيضا تأثير على مهلة لبناء لاعبا اساسيا و الدمار.
ما هو الجديد في الإصدار 1.7.2:
هذا الإصدار بإصلاح الخلل البسيط مع معدل اختبار NO_CORE_FILE التي وقعت على لينكس عندما وصف / بروك / SYS / نواة / core_pattern الأنابيب لل تفريغ الأساسية للبرنامج بدلا من الحفظ إلى ملف.
ما هو الجديد في الإصدار 1.6.1:
هذا هو التصحيح لعلة أنه في بعض الحالات تسبب تالف XML والمخرجات التي كتبها في عداد المفقودين قريبة على لائحة blocked_tests.
ما هو الجديد في الإصدار 1.6.0:
الميزات الجديدة هي مقياس اختياري إضافية لASSERT_THROW () وVERIFY_THROW () والذي يتحقق قيمة كائن استثناء، وهما istream based x من get_parameter () لاختيار القيم التي تم تمريرها من سطر الأوامر، وخيار لبناء libcrpcut كما مكتبة ثابتة أو مشتركة.
ما هو الجديد في الإصدار 1.5.0:
ميزة رئيسية جديدة ووضع علامات على الاختبارات. الكلمات الدلالية هي طريقة اختيار اختبار متعامد إلى أن من testsuites. ويمكن أيضا أن تستخدم الكلمات للتمييز بين الاختبار التي هي الحرجة (مثل انحدارات) والاختبار التي هي غير حاسمة (مثل وظيفة عمل حاليا.)
دعم تجريبي متاح لتزيين تقارير الاختبار، على سبيل المثال، هروب ANSI-اللون أيضا.
لم يتم العثور على التعليقات