هل هناك أي خير الاختبار الآلي الأجنحة بيرل?[مغلقة]

StackOverflow https://stackoverflow.com/questions/49652

  •  09-06-2019
  •  | 
  •  

سؤال

شخص ما يمكن أن نقترح بعض الآلي اختبار جناح إطار بيرل?

هل كانت مفيدة؟

المحلول

أنها حقا يتوقف على ما كنت تحاول القيام به, ولكن هنا بعض الخلفية عن الكثير من هذا.

أولا, كنت عادة كتابة برامج الاختبار مع الاختبار::أكثر أو اختبار::بسيطة باعتبارها جوهر اختبار البرنامج:

use Test::More tests => 2;

is 3, 3, 'basic equality should work';
ok !0, '... and zero should be false';

داخليا, اختبار::منشئ دعا إلى إخراج هذه نتائج الاختبار الحنفية (اختبار أي شيء البروتوكول).اختبار::تسخير (غلاف رقيق حول الحنفية::تسخير) ، يقرأ ويفسر الحنفية ، أقول لك إن الاختبارات الخاصة بك أو الرسوب.إن "إثبات" أداة ذكر أعلاه هو المجمعة مع اختبار::تسخير, لذلك دعونا نقول أن حفظ أعلاه في t/ دليل (معيار بيرل اختبار الدليل) كما "الأرقام.t", ثم يمكنك تشغيله مع هذا الأمر:

prove --verbose t/numbers.t

أو لتشغيل جميع الاختبارات في هذا الدليل (بشكل متكرر ، على افتراض أنك تريد أن ينزل إلى الدلائل):

prove --verbose -r t/

(--مطول ، بالطبع ، هو اختياري).

كملاحظة جانبية, لا تستخدم TestUnit.يوصي العديد من الناس ، ولكن تم التخلي عنها منذ وقت طويل و لا إدماج الحديثة مع أدوات الاختبار.

نصائح أخرى

تحقق من CPAN اختبار, التي لديها الكثير من أدوات الاختبار الآلي.أكثر من ذلك يجب أن يكون على CPAN لذلك عليك أن تكون قادرا على تعديل لتلبية الاحتياجات الخاصة بك.كما انه من السهل جدا أن أكتب الخاصة بك باستخدام اختبار الحنفية::تسخير.

بالضبط ما تحتاج إلى القيام به وكيف تحاول أن يصلح في هذه العملية ؟

طالما كنت تستخدم الاختبارات التي تنتج الحنفية (اختبار أي شيء البروتوكول) الناتج قد تجد هذا أن تكون مفيدة: http://sourceforge.net/projects/smolder

هل رأيت دخان كثيف?

"اختبار الدخان مجمع تستخدم من قبل المطورين والمختبرين لتحميل (آليا أو يدويا) وعرض الدخان/الانحدار الاختبارات باستخدام اختبار أي شيء البروتوكول.تفاصيل الاتجاهات رسوم بيانية و الإخطارات عبر البريد الإلكتروني أو Atom."

إذا فهمت بشكل صحيح كنت تبحث عن الحنفية::تسخير

إذا كنت تستخدم ExtUtils::MakeMaker أو وحدة::بناء, ثم يمكنك تشغيل جميع الاختبارات الخاصة بك تلقائيا عن طريق إدخال الأمر "إجراء اختبار" أو "بناء اختبار" الذي سيتم تنفيذ أي *.t الملفات في المشروع الخاص بك t/ فرعي.

إذا كنت لا تستخدم أي من هذه, ثم يمكنك استخدام الحنفية::تسخير أتمتة تنفيذ متعددة اختبار البرامج النصية.

فعلا كتابة الاختبارات ، استخدام اختبار::المزيد أو أي من وحدات واقترح آخرون هنا.

لدينا لتشغيل جميع ملفات الاختبار يدويا للاختبار

أنت بالتأكيد تريد أن تستخدم لإثبات (يعمل الاختبار) و/أو وحدة::بناء (يبني التعليمات البرمجية الخاصة بك ومن ثم تشغيل الاختبارات الخاصة بك باستخدام نفس اختبار تسخير الرمز الذي يثبت يستخدم داخليا.)

قلت:

"ما أبحث عنه هو أكثر من الآلي الإطار الذي يمكن القيام به تدريجي اختبار/بناء الشيكات الخ"

ما زلت غير متأكد تماما ما كنت بعد.كما ذكر آخرون تريد أن ننظر إلى الأشياء التي هي على أساس الاختبار::تسخير/الصنبور.الغالبية العظمى من بيرل المجتمع اختبار يستخدم هذا الإطار - لذلك سوف تحصل على المزيد من الدعم (و مفيدة البرمجية الموجودة) باستخدام هذا.

يمكنك التحدث أكثر قليلا حول ما تعنيه "الإضافية اختبار/بناء الشيكات"?

انا التخمين التي تريد تقسيم الاختبارات الخاصة بك إلى مجموعات بحيث يمكنك فقط تشغيل بعض مجموعات من الاختبارات في ظروف معينة ؟

هناك عدة طرق للقيام بذلك.وأبسط تكون مجرد استخدام نظام الملفات - تقسيم اختبار الدلائل حتى يكون لديك أشياء مثل:

core/
 database.t
 infrastructure.t
style/
  percritic.t
ui/
  something.t
  something-else.t

وهلم جرا...ثم يمكنك استخدام سطر الأوامر "إثبات" أداة لتشغيل كل منهم, أو فقط بعض الدلائل ، إلخ.

يثبت لديها الكثير من الخيارات المفيدة التي تمكنك من اختيار الاختبارات التي يتم تشغيلها في النظام (مثلا ، أشياء مثل معظم-في الآونة الأخيرة-فشل النظام).هذا - من تلقاء نفسه - ربما تحصل على نحو ما تحتاجه.

(راجع للشغل من المهم الحصول على النسخة الأخيرة من الاختبار::بسيطة/يثبت/الخ.من CPAN.الإصدارات الأخيرة يكون أكثر من هذا بكثير وظائف).

إذا كنت من OO عقلية ، أو لديك خبرة سابقة xUnit أطر مما قد تريد أن تأخذ نظرة على اختبار::الطبقة التي هي بيرل xUnit إطار هذا بناء على رأس الصنبور/اختبار::تسخير طبقة.أعتقد إنها أفضل بكثير من PerlUnit - ولكن أود أن أقول أنه منذ أن كتب عليه :-)

تحقق من لذيذ على بعض المعلومات عن اختبار::الطبقة http://delicious.com/tag/Test::Class

إذا كان هذا ليس ما كنت بعد - هل يمكن أن تذهب إلى أكثر قليلا من التفصيل على ما وظيفة تريد ؟

الهتافات ،

أدريان

شخصيا, أنا أحب اختبار::أكثر, في الأساس اختبار::أكثر مع إضافة بعض الميزات الرائعة.

اختبار جناح إطار الاختيار اختبار::تسخير, والتي تأخذ الرعاية من السيطرة على تشغيل اختبار ، وجمع النتائج ، وما إلى ذلك.

وحدات مختلفة موجودة إلى توفير بعض أنواع من الاختبارات الأكثر شيوعا التي يمكن العثور عليها في اختبار::بسيطة و اختبار::المزيد (مدرجة في كل من اختبار بسيط التوزيع).اختبار كامل مساحة على CPAN وتكرس الوحدة المتخصصة-اختبار وحدات الأغلبية التي تم تصميمها ليتم تشغيلها تحت الاختبار::تسخير.

حسب الاتفاقية ، اختبارات يتم تخزينها في t/ الدليل من كل اختبار يستخدم ملف ملحق الملف .t ؛ الاختبارات عادة عبر

 prove t/*.t

وحدة التوزيعات عادة ما تتضمن جعل الهدف اسمه 'اختبار' التي تدير جناح اختبار قبل التثبيت.بشكل افتراضي ، CPAN عملية التثبيت يتطلب اجتياز الاختبارات بعد بناء قبل وحدة سيتم تثبيتها.

كنت أذهب للاختبار::أكثر أو أي شيء النواتج اضغط

اعتبارا من الآن, نحن نستخدم اختبار::أكثر ولكن المشكلة الحالية هي أن لدينا لتشغيل جميع ملفات اختبار يدويا للاختبار.ما أبحث عنه هو أكثر من الآلي الإطار الذي يمكن القيام به تدريجي اختبار/بناء الشيكات وغيرها.

التفاف حول اختبار::أكثر من أجل أن تكون مثالية ولكن أي شيء أفضل و أكثر وظيفية من شأنه أن يكون على ما يرام أيضا.

انا ذاهب من خلال PerlUnit أن نرى ما إذا كان ذلك يساعد.

هل أنت على علم من 'إثبات' فائدة (من التطبيق::يثبت)?يمكن أن نقول أنها لتشغيل جميع الاختبارات بشكل متكرر في دليل معين ، مع أو من دون الإسهاب ، إلخ.

من أجل الاختبار الآلي في بيرل نلقي نظرة على اختبار::تسخير, الذي يحتوي على prove أداة.

على prove أداة يمكن تنفيذ الأمر التالي:

prove -r -Ilib t

هذا سوف recursivly اختبار كل *.t الملفات في 't/' الدليل ، مع إضافة lib إلى تضمين المسار.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top