ما هي أطر اختبار الوحدة التي توصي بها لـ J2ME؟[مغلق]

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

  •  02-07-2019
  •  | 
  •  

سؤال

أنا جديد نسبيًا على J2ME وعلى وشك أن أبدأ أول مشروع جدي لي.تجربتي في الاختبار ليست عميقة جدًا أيضًا.أنا أبحث عن إطار عمل اختبار الوحدة لـ J2ME.

لقد رأيت حتى الآن J2MEUnit، لكنني لا أعرف الآن مدى دعمها بشكل جيد.لقد رأيت JavaTest Harness ولكني لا أعرف ما إذا كانت هذه مبالغة أم لا.

من فضلك قل لي ما هو الإطار الذي تقترحه فيما يتعلق بما يلي:
* سهولة تنفيذ الاختبارات
* دعم المجتمع والأدوات
* التوافق مع عمليات التصديق على التطبيقات
* التكامل مع IDEs (Eclipse، NetBeans)
*جوانب أخرى تجدها مهمة...

شكرا ، عساف.

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

المحلول

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

  • يقدم Momunit معلومات مفيدة للغاية حول الاختبارات.يتم نقله بسهولة و compabile النملة.عيب (أو ربما لا) ، إنه يحتاج إلى أن يكون لكل فئة اختبار طريقة اختبار فريدة ، باستخدام الكثير من الميراث.

  • JMEUnit.(الدمج المستقبلي لـ J2MeUnit و JMUnit) JMUnit لا يدعم ANT لكن الواجهة مشابهة لـ MOMUNIT.J2MeUnit لا يوفر معلومات مفيدة للغاية مع الاختبارات.إنشاء الاختبار في كلا الأطر معقدة بطريقة ما.J2MEUnit يدعم Ant؛ولهذا السبب سيكون دمج كلا الإطارات مثيرة للاهتمام للغاية (لقد عملوا على INT لمدة عام أقل من O)

تجربتي الخاصة:لقد استخدمت وحدة J2ME وكان إعداد تركيبات الاختبار أمرًا صعبًا بسبب عدم وجود "انعكاس" في J2ME، ولكن يتم تصميمها جميعًا دائمًا بنفس الطريقة، لذلك يوفر القالب الكثير من الوقت.كنت أخطط لتجربة وحدة MoME هذا الأسبوع، فقط للتحقق من نموذجها الأبسط

بعض أطر وحدة الاختبار لـ J2ME:

نصائح أخرى

ألق نظرة سريعة على MockME أيضًا.

www.mockme.org

من موقعهم:"MockME عبارة عن كائنات وهمية لـ Java ME لـ Java SE.يتيح لك MockME كتابة اختبارات الوحدة الحقيقية دون الحاجة إلى تشغيلها على الهاتف.يمكنك أيضًا استخدام أطر عمل الكائنات الديناميكية مثل EasyMock التي تمكنك من محاكاة أي كائن في Java ME!يدمج MockME أفضل الأدوات لاختبار الوحدات بما في ذلك JUnit وEasyMock وDDSteps.من خلال جعل Java ME API قابلة للسخرية، يمكنك كتابة اختبارات الوحدة لتطبيق Java ME الخاص بك بالطريقة التي تريدها حقًا."

MicroEmulator + JUnit على J2SE

لقد بدأت باستخدام أدوات مثل JMUnit، لكنني تحولت مؤخرًا إلى JUnit + القياسي محاكي صغير على J2SE.هذا مشابه لاستخدام MockME، ولكن باستخدام MicroEmulator بدلاً من ذلك.أفضّل MicroEmulator، لأنه يحتوي على تطبيقات فعلية للمكونات، ويمكنك تشغيل MIDlet بالكامل عليه.بالرغم من ذلك، لم أستخدم MockME بنفسي مطلقًا.

يتم تشغيل جميع اختبارات الوحدات غير التابعة لواجهة المستخدم الرسومية ببساطة عن طريق استخدام MicroEmulator كمكتبة.ويتميز هذا بأن جميع أدوات JUnit تعمل بسلاسة، وتحديدًا Ant وMaven ومعظم أدوات IDE وأدوات التكامل المستمر.نظرًا لأنه يعمل على J2SE، يمكنك أيضًا استخدام ميزات مثل الأدوية العامة والتعليقات التوضيحية لـ JUnit، مما يجعل اختبارات وحدة الكتابة أفضل قليلاً.

تتطلب بعض المكونات مثل RecordStore بعض الإعداد قبل العمل.يتم ذلك باستخدام MIDletBridge.setMicroEmulator().

يتميز استخدام MicroEmulator أيضًا بميزة إمكانية تخصيص تنفيذ بعض المكونات، على سبيل المثال RecordStore.أستخدم RecordStore في الذاكرة، والذي يتم إعادة إنشائه قبل كل اختبار، حتى أكون متأكدًا من أن الاختبارات تعمل بشكل مستقل.

أجهزة حقيقية

لن يتم تشغيل الطريقة الموضحة أعلاه على أي أجهزة حقيقية.ولكن، في رأيي، يجب تشغيل اختبارات واجهة المستخدم الرسومية والقبول فقط على الأجهزة الحقيقية.لهذا، أدوات مثل mVNC معا مع روبوت T-Plan يمكن استخدامه على أجهزة Symbian (بفضل هذا بلوق وظيفة).ومع ذلك، لم أتمكن من تشغيل mVNC إلا عبر البلوتوث، وكان الأمر بطيئًا للغاية.

قد يكون البديل هو استخدام خدمة مثل المنتدى Nokia Remote Device Access (RDA).ما زلت بحاجة إلى التحقق مما إذا كانت الأنظمة الأساسية مثل هذه مناسبة للاختبار الآلي.

همم...أنا شخصياً لم أقم بتطوير تطبيق للهاتف المحمول ولكني أعتقد أن J2MEUnit هو الخيار الأفضل لأنه يعتمد على JUnit الأصلي الذي يحتوي على مجتمع كبير ويدعمه معظم IDEs لذا يجب أن يكون من السهل تشغيل تلك الاختبارات التي لا تعتمد على الأقل. على الأجهزة المحمولة مباشرة من IDE الخاص بك.

قد يكون الأهم من ذلك هو أن J2MEUnit يتكامل مع ANT حتى تتمكن من إجراء الاختبار مع كل إصدار.

الوثيقة ذات الصلة التي وجدتها (بعد نشر السؤال) هي اختبار تطبيقات جافا اللاسلكية.وهو يصف J2MEUnit بالقرب من نهاية المستند.

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