ما هو إطار عمل غير مألوف للتعلم لجافا الآن؟ [مغلق

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

سؤال

على الرغم من أنني برمجت مع Java لمدة 3 سنوات تقريبًا + الآن (وليس يوميًا ولكن على الأقل أفهم الأساسيات) ، لم أكن حقًا في مجال اختبار الوحدة ...

أصبح عملي الآن أكثر اختبارات / تحليل للمشاكل ، لذلك أعتقد أن إطار اختبار وحدة Java الجيد سيكون مفيدًا جدًا لهذا الدور.

من الواضح أنه لا توجد قاعدة رسمية لإطار العمل الذي يجب الذهاب إليه في فريقي. لذا فقط أتساءل ، كمبتدئ ، ما هو الإطار الذي يعد جيدًا للبدء بسرعة؟

جونيت؟

testng؟

أو أي شيء آخر؟

تحرير: يبدو أن Junit لديه المزيد من الكتب المطبوعة كمراجع مقارنة بالاختبار على Amazon. لكنني لا أعرف شعبيتها / اتجاههم في صناعة جافا كما هو الحال الآن.

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

المحلول

أنا منشئ Testng ومؤلف كتاب "اختبار الجيل التالي" ، لذا إليك بعض الأفكار (المنحازة).

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

  • مجموعات. بمجرد قيامك بتجميع الاختبارات الخاصة بك ، يمكنك فقط أن تطلب من TestNg تشغيل جميع "الاختبارات الأمامية" ، أو "Fast" ، "Slow" ، "Database" ، إلخ ...

  • دعم للاختبار متعدد مؤشرات الترابط. هذا له معنيان مختلفان:

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

2) يمكنك إخبار testng باستدعاء طرق الاختبار الخاصة بك من الأوقات من سلاسل p. يمنحك هذا فكرة جيدة عن كيفية آمنة لخيط الرمز الذي تختبره.

  • اختبار التبعيات والترتيب الحتمي. يعد هذا مفيدًا جدًا لاختبار التكامل حيث من الشائع جدًا رؤية طرق الاختبار التي تحتاج إلى طرق اختبار سابقة للنجاح قبل أن تتمكن من الجري. تحظى TestNG بشعبية كبيرة في مجتمع السيلينيوم لهذا السبب المحدد ("لا تهتم باختبار هذه الصفحة لموقع الويب الخاص بي في حالة فشل اختبار تسجيل الدخول").

ميزة فورية أخرى من التبعيات الاختبار هي أن TestNG يمكن أن يخبرك "فشل طريقة واحدة ، 99 طريقة تخطي" ، وهي نتيجة أكثر دقة بكثير من "100 طريقة فشل".

يحتوي Testng على العديد من الميزات ، ويسعدني الإجابة على الأسئلة هنا أو على قائمة البريد الخاصة بنا (http://groups.google.com/group/testng-users ).

نصائح أخرى

سوف أتعلم testng مع الوحدة. غطت كل احتياجاتي طوال الوقت. أضف xmlunit و dbunit ويجب تسويتك لفترة طويلة.

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

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

http://www.indeed.com/jobtrends؟q=testng٪2C+Junit&l=

يقوم كلاهما بوظائفهما بشكل جيد ، لذلك لا يوجد صواب أو خطأ. يمكنك استخدام كلاهما مع العديد من الأطر للمساعدة في دعم تطورك.

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

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

http://www.ibm.com/developerworks/java/library/j-cq08296/index.html

تم دعم Junit بشكل جيد للغاية في العديد من IDE بما في ذلك Eclipse ، و Junit 4 مع التعليقات التوضيحية من الجيد جدًا العمل معها.

ما لم تكن لديك احتياجات محددة ، فانتقل إلى دعم الأدوات ، أي Junit.

Testng مع Unitils رائع حقا. ويغطي تقريبا جميع المتطلبات. تدعم Unitils الكثير من شركات التأكيد ، الربيع ، السبات ، أطراف السخرية ، dbutils إلخ.

بالنسبة لي ، إنها مجرد مسألة ذوق. لقد استخدمت Personnaly Junit Daily لأكثر من 5 سنوات حتى الآن وأنا سعيد جدًا بها ، خاصةً مع الإصدار الأخير وميزة @Rule التي تمنع فريقي من كتابة نفس الكود مرارًا وتكرارًا. يتكامل بشكل جيد مع جميع الأدوات التي أستخدمها يوميًا: IDE ، بناء ، intégration المستمر ...

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

الرابط التالي ربما يكون مفيدًا لك!http://www.javarmi.com/2010/08/junit-4-tutorial-and-example-get-starting/

Junit هو أفضل مكان للبدء. لدى Junit 4.x العديد من الميزات الغنية مثل التعليقات التوضيحية وما إلى ذلك ، وكذلك الحصول على دعم جيد من الأطر الشهيرة مثل Spring.

سأذهب ل Junit.

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