سؤال

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

يمكنني القيام بذلك عن طريق تكرار الطلب الأصلي الهدف ؛ غير أن المشكلة مع ذلك هو أنه في كل مرة إضافة مصدر جديد الملف إلى التطبيق الهدف ، أريد أن أضيف أيضا إلى UnitTestUI الهدف.انها ليست صفقة كبيرة ، غير مريح فقط أن نتذكر دائما لإضافة الملفات إلى كل من الأهداف.

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

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

المحلول

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

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

  1. إنشاء نسخة من الهدف الأصلي منذ أكثر من الإعدادات الخاصة بك سوف تكون هي نفسها.
  2. حدد هدفك الجديد و فتح المفتش (⌘أنا)
  3. تحت مباشرة تبعيات, انقر فوق زر + و حدد الهدف الرئيسي الخاص بك.
  4. إعداد جديدة الهدف المطلوب, مع المزيد من الوثائق/المصدر/القواعد أو أيا كان.

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

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

نصائح أخرى

لا ليس هناك. هل هناك سبب معين تريد كل ملف واحد في وحدتك اختبار الهدف؟ ويشمل ذلك main.m وجميع الفئات التي لم تكن اختبار (مثل ربما الطبقات وجهة نظركم). في الواقع، إذا تم تضمين main.m في اختبار وحدة، ثم كيف أن وحدة اختبار الخاص بك حتى تعمل بشكل صحيح؟

أنا حل المشكلة من خلال بناء أكثر من تطبيق مكتبة ثابتة ، والتي يرتبط كل من التطبيق اختبار وحدة الأهداف.

أهداف في المشروع تبدو مثل:

  • libMyApp
    • تجميع .m الملفات
  • اسم التطبيق.التطبيق
    • libMyApp (التبعية)
    • رابط المكتبة:libMyApp.a
  • UITest.التطبيق
    • libMyApp (التبعية)
    • رابط المكتبة:libMyApp.a

بهذه الطريقة يمكنني إضافة .m ملفات فقط "libMyApp" الهدف ويكون لهم المتاحة في كل من التطبيق و اختبارات و لا حتى يكون recompiled.

فقط مسكتك هو أن مكتبة ثابتة لا يبدو لدعم الهدف-C فئات ، لذلك أنا لا تزال لديها لإضافتها إلى كل هدف على حدة.

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