بناء لم يتم وضع علامة غير مستقر عندما فشل اختبار وحدة
سؤال
ولقد أضاف وظيفة جديدة في خدمة بلدي هدسون الذي يبني المشروع مع MAKEFILE.
وتنفيذ أوامر shell:
#!/bin/bash
cd $JOB_NAME
make
وبلدي MAKEFILE يبدو مثل هذا
SDK_31 = iphonesimulator3.1
TARGET_DEV = myProject
TARGET_TEST = unitTest
all: debug
debug:
xcodebuild -sdk ${SDK_31} -target "${TARGET_DEV}" -configuration Debug
xcodebuild -sdk ${SDK_31} -target "${TARGET_TEST}" -configuration Debug
clean:
xcodebuild -alltargets clean
rm -rf build
ولكن عندما هدسون بناء المشاريع، وبعض الاختبارات وحدة تفشل ولكن الموسومة بناء بأنها ناجحة.
وماذا يجب علي أن أفعل ليكون "مشروع غير مستقر"؟
وأطيب التحيات،
المحلول
ويجب تكوين هدسون لتسجيل نتائج اختبار وحدة، من خلال تمكين 'نشر أداة JUnit اختبار تقرير نتيجة "عمل ما بعد البناء.
بعد بناء إجراءات http://img141.imageshack.us/img141/5136 /hudsonjunit.png
تحديث م>: إذا لم تتمكن من الحصول على إخراج أداة JUnit XML، يجب أن تكون قادرا على استخدام في النص المكتشف المساعد لتغيير حالة البناء:
<اقتباس فقرة>وهذا البرنامج المساعد يتيح لك البحث الكلمات الرئيسية في الملفات التي حددتها واستخدام ذلك للاحتفال بناء كما النجاح أو الفشل.
اقتباس فقرة>نصائح أخرى
ولقد وجدت هذا السيناريو روبي مفيد كريستيان هيدين يحول الناتج من الاختبارات OCUnit (الشكل المستخدم من قبل كسكودي) إلى ملفات أداة JUnit أكس (الشكل المستخدم من قبل هدسون).
ويمكنك انتزاع البرنامج النصي على جيثب: http://github.com/ciryon/OCUnit2JUnit
ووتفسيرا لكيفية استخدامه، وهنا له بلوق وظيفة حول هذا الموضوع: http://blog.jayway.com/2010 / 01/31 / continuos التكامل المتاحة للمشاريع كسكودي /
وأساسا، كنت أنبوب xcodebuild إلى ocunit2junit.rb مع أمر مثل هذا:
/usr/bin/xcodebuild -target UnitTests | /usr/local/bin/ocunit2junit.rb
وويضع ملفات XML في اختبار تقارير مجلد أنه يخلق في جذر مجلد المشروع. ثم يقول هدسون لنسخ التحف test-reports/*.xml
إلى نتائج أداة JUnit وانت حددت.
وهذا الإعداد سيسمح هدسون لتحديد بشكل صحيح إذا كان اختبار وحدة اجتاز أو فشل وعلامة استقرار البناء بشكل صحيح.
ولقد تم استخدامه لمدة شهر الآن ويعمل كبيرة. وكان الإعداد بسيطة جدا.