سؤال

على تكرار : في جافا: كيفية اختبار الأساليب التي تدعو System.exit ()؟


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

هل هناك ASSERT خاص أن أتمكن من استخدامها، أو أي اقتراحات أخرى؟

public MyClass(arg1, arg2, arg3){
    if(argsTestingIsOK){
        continue;       
    }else{
        System.exit(0);
    }
}
هل كانت مفيدة؟

المحلول

وبدلا من exit() جي في منشئ، بطرح <لأ href = "http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/IllegalArgumentException.html" يختلط = " نوفولو noreferrer "> IllegalArgumentException بدلا من ذلك (لأن هذا هو ما يحدث في الواقع) وترك الأمر إلى المتصل لمعالجة الاستثناء. يمكن كتابة التعليمات البرمجية للتطبيق لمعالجة استثناء أثناء الاختبار أداة JUnit يمكن يؤكدون أن يحدث الاستثناء.

نصائح أخرى

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

وأفضل الممارسات لاستخدام فقط شيء من هذا القبيل System.exit () في الأسلوب الرئيسي أو في نقطة الدخول إلى التطبيق الخاص بك - بالتأكيد ليست في منتصف كود البناء الكائن

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