سؤال

لدينا مشروع AutoTools يحتوي على مزيج من اختبارات الوحدة والتكامل، والتي تعمل جميعها عبر "إجراء الشيكات". هذه ليست مثالية، لأن بعض اختبارات التكامل تأخذ بعض الوقت، ولديها جميع أنواع التبعيات (قاعدة البيانات، إلخ)

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

هل هناك طريقة واضحة (أو غير ذلك) لإضافة هدف إضافي؟

ملاحظة: ربما يجب أن أضيف أيضا أن هذا مشروع كبير، لذا فإن تحرير / الحفاظ على كل makefile باليد غير مرغوب فيه. أود أن أفعل ذلك "طريقة Autotools" إن أمكن.

- التحديث 1 -

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

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

2) .hony - أظل الحصول على رسائل حول. وهو أمر مفهوم، لأنه يتم تعيينه بواسطة حزمة أخرى (على وجه التحديد، Doxygen). كيف يمكنني جعل اللعبان لطيفين معا؟

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

المحلول 2

نظرا لعدم وجود أي ردود أخرى، سأجيب مع حلاي.

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

ملاحظة: قد تتساءل عن سبب عدم استنساخ الأهداف العودية بدلا من ذلك. بصراحة تماما، لم أجدها. إما أنني لم أكن أعرف من أين أنظر (لم تكن القواعد الموجودة في MICFILE التي تم إنشاؤها) أو يحدث شيء ضمنيا، ولا أفهم AutoTools جيدا بما يكفي لمتابعة ذلك.

بالنسبة للقضية التي تم إعادة تعريفها، إلا أنني لم أجد حلا، بخلاف استبعاد التعريف الآخر المشروس عند إجراء اختبارات التكامل.

نصائح أخرى

في ملفات AM الخاصة بك، يتم تمرير كل شيء صنع بناء الجملة إلى Makefile التي تم إنشاؤها. لذلك إذا كنت ترغب في إنشاء هدف جديد، فما عليك سوى إنشاءه كما لو كنت في MICFILE وسوف يظهر في Makefile المولدة تلقائيا. ضع ما يلي في أسفل ملفات AM.

اختبارات التكامل: المتطلبات الأساسية .... أوامر لتشغيل الاختبار .فونيا: اختبارات التكامل
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top