ما هي أفضل طريقة لاختبار GWT كود [مغلقة]

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

  •  03-07-2019
  •  | 
  •  

سؤال

ما هي أفضل طريقة لاختبار التعليمات البرمجية GWT؟

وGWTTestCase في وضع استضافت بطيئة جدا وشيء من العمل الأطر ساخرا.

وحاليا نحن نتابع MVC كما هو مقترح في <لأ href = "http://robvanmaris.jteam.nl/2008/03/09/test-driven-development-for-gwt-ui-code/" يختلط = " نزع noreferrer "> http://robvanmaris.jteam.nl/2008/03/09/test-driven-development-for-gwt-ui-code/ واستخدام GWTMockUtilities () واستعادة () أن يسخر الحاجيات . ونحن طعاما برزت وسيلة لاختبار عرض في GWT MVC. هل هناك طريقة أفضل لاختبار التعليمات البرمجية GWT؟

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

المحلول

إذا كنت تبحث لاختبار الحاجيات منسوب المياه الجوفية في عزلة، لا يوجد الكثير من الخيارات. يمكنك استخدام GWTTestCase إنشاء مثيل الحاجيات الخاصة بك واختباره من خلال API، والتي ما يفعله جوجل لGWT أوتوقيت أنفسهم: <لأ href = "https://gwt.googlesource.com/gwt/+/master/user/ اختبار / كوم / جوجل / GWT / المستخدم / العميل / واجهة المستخدم / RadioButtonTest.java "يختلط =" نوفولو noreferrer "عنوان =" المصدر لRadioButtonTest "> المصدر لRadioButtonTest

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

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

وتابعت استراتيجية مماثلة - MVP مع رمز الحد الأدنى في الحاجيات. وفي حالات قليلة فعلت كتابة بعض الرموز التي من شأنها أن التفاف الطبقة الشبكة، لذلك كنت قادرا على إنشاء مثيل عنصر بلدي في GWTTestCase، تمريرها الشبكة، استدعاء بعض الأساليب على عنصر بلدي، والتحقق من حالة الشبكة. كتبت مقالا عن أفضل البرامج حول تجارب الأولى GWT، التي يمكنك أن تقرأ <لأ href = "http://blog.danielwellman.com/2008/11/test-first-gwt-article-in-november-2008- أفضل برامج magazine.html "يختلط =" نوفولو noreferrer "عنوان =" أول اختبار GWT المادة "> على بلدي بلوق .

إذا كنت تبحث لاختبار التعليمات البرمجية التي تستخدم الطبقات غير UI GWT (مثل ترميز URL أو قواميس)، سوف تحتاج إلى استخدام GWTTestCase، وإلا اتباع استراتيجيات التفاف مماثلة حتى رمز بسيط جدا لكسر. ثم استخدام اختبار التكامل مع أداة مثل السيلينيوم، أو عدد قليل GWTTestCases المستهدفة التي الاختبار فقط الذي تستخدمه المكتبة بشكل صحيح - "! لا اختبار الإطار" كما يقول J.B. Rainsberger،

نصائح أخرى

وباعتبارها alernative، يجب أن تحاول GWT اختبار تيلس ، التي تدير لتشغيل رمز العميل GWT في JVM مستقل وتوفر بعض السمات إلى أي شيء وهمية تريد (العنصر، خدمات RPC، الخ ..)

وماذا عملت لي:

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

وفصل نموذج وحدة تحكم رمز من وجهة نظر الحاجيات GWT وأي الفئات الأخرى التي تعتمد على GWT ولا يمكن مثيل في JVM سهل القديمة. يمكنك بعد ذلك اختبار لهم أداة JUnit حسن البالغ من العمر.

وكتابة نهاية إلى نهاية الاختبارات لاختبار النظام من خلال واجهة المستخدم الرسومية لضمان أن تكون نماذج وحدات التحكم والتوصيل إلى وجهات النظر بشكل صحيح. وجدنا أنه أسرع لنشر وبدء التطبيق ومن ثم التفاعل معها من خلال متصفح للرقابة من أداة JUnit مع WebDriver من استخدام GWTTestCase!

استخدم JMock لاختبار الاستدعاءات غير المتزامنة مثل هذا: http://www.jmock.org/gwt. أتش تي أم أل .

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