JUnit هڪ سادي فريم ورڪ آهي جيڪو ٻيهر قابل ٽيسٽ لکڻ لاءِ. اهو يونٽ ٽيسٽنگ فريم ورڪ لاءِ xUnit فن تعمير جو هڪ مثال آهي.
اسان لاءِ، هن جو مطلب آهي خاص طور تي ٺهيل طبقن کي لکڻ جي صلاحيت جن جا طريقا اسان جي پروگرام سان لهه وچڙ ۾ ايندا، نتيجي جي نتيجن کي ريفرنس هڪ سان ڀيٽ ڪندا ۽ جيڪڏهن اهي نه ملندا ته اسان کي ٻڌايو. اصول کي سمجهڻ لاء، هڪ سادي مثال تي غور ڪريو. فرض ڪريو اسان وٽ ھڪڙو معاون طبقو آھي، جنھن جي طريقن مان ھڪڙو
int قسم جا ٻه متغير وٺن ٿا ۽ انھن جي رقم کي واپس ڪري ٿو:
ھي آھي اھو ڪارڪردگي آھي جيڪو اسين جانچڻ جي ڪوشش ڪنداسين. خوشقسمتيءَ سان، اسان جي پسنديده IDEA وٽ اڳ ۾ ئي سڀڪجهه موجود آهي جيڪو توهان کي جلدي ٽيسٽ ٺاهڻ جي ضرورت آهي، اسان کي صرف ڪرسر کي ڪلاس جي اعلان واري لائن ۾ رکڻ جي ضرورت آهي، "Alt + Enter" کي دٻايو ۽ "Create Test" کي منتخب ڪريو حوالي سان مينيو ۾:
توهان وضاحت ڪرڻ کان پوءِ ڪٿي. توهان کي هڪ ٽيسٽ ٺاهڻ گهرجي، IDEA هڪ ٽيسٽنگ لائبريري چونڊڻ جو مشورو ڏئي ٿو (هن مواد ۾ آئون استعمال ڪريان ٿو JUnit4؛ لائبريري ڪلاسز کي پروجيڪٽ سان ڳنڍڻ لاءِ، توهان کي "فڪس" بٽڻ تي ڪلڪ ڪرڻ جي ضرورت آهي)، طريقن کي جانچڻ جا طريقا ۽ اضافي اختيارن.
IDE هڪ ٽيسٽ ڪلاس ٽيمپليٽ ٺاهيندو: ClassName = TestClassName + "Test" MethodName = "test" + TestMethodName
اسان کي صرف طريقي جي جسم کي ڀرڻ جي ضرورت آهي.
نام نهاد "دعا" ، JUnit پاران مهيا ڪيل طريقا ، انهي سان مدد ڪندي . هڪ آسان طريقي سان، انهن جو ڪم هن طرح ڏسڻ ۾ اچي ٿو: متوقع نتيجو ۽ امتحان جي طريقي سان سڏڻ جو نتيجو .asssert* طريقي سان پاس ڪيو ويو آهي؛ سهولت لاء، توهان هڪ وضاحتي پيغام شامل ڪري سگهو ٿا جيئن پهريون پيٽرولر. جيڪڏهن امتحان دوران پيرا ميٽر نه ملندا، توهان کي ان بابت ٻڌايو ويندو. توهان هڪ ٽيسٽ ڪلاس شروع ڪري سگهو ٿا ايڪسيڪيشن لاءِ صرف هڪ باقاعده ڪلاس وانگر، مان استعمال ڪرڻ کي ترجيح ڏيان ٿو ڪيمي جوڙ Ctrl+Shift+F10
اچو ته ڪم جي وضاحت ڪريو
نظريي ۾، هر شيء سادي ۽ خوبصورت آهي، پر پيش ڪيل مثال جي حوالي سان، اهو واقعي ضروري ناهي؛ اسان ڪمپيوٽر تي ڀروسو ڪري سگهون ٿا ته ٻه نمبر شامل ڪري. اسان ان ۾ وڌيڪ دلچسپي رکون ٿا ته جاوا رش شاگردن پاران حل ڪيل حقيقي مسئلن سان شيون ڪيئن ٿينديون؛ مثال طور، مان صلاح ڏيان ٿو محبوب ليول05.lesson12.bonus03.
/* Algorithms تي مسئلو هڪ پروگرام لکو ته: 1. ڪنسول مان نمبر N > 0 داخل ڪري ٿو 2. پوءِ ڪنسول 3 مان N نمبر داخل ڪري ٿو. داخل ٿيل N نمبرن جي وڌ ۾ وڌ ڏيکاري ٿو. */
هي آهي جتي ڪجهه تعجب اسان جي انتظار ۾ آهي:
public class UtilApp { public static void main(String[] args) throws Exception { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); //напишите здесь ваш code int n; int maximum; /* Конечно же я не буду размещать решение задачи ;) Код приведенный тут переработан для наглядности, и не в коем случае не означает что он должен присутствовать в "правильном решении" */ System.out.println(maximum); } }
پروگرام منطق main() طريقي ۾ رکيل آهي
ماخذ ڊيٽا طريقي سان نه گذريو آهي، پر ڪيبورڊ مان داخل ڪيو ويو آهي.
مکيه () طريقو نتيجو واپس نه ٿو ڏئي، پر ان کي ڪنسول ڏانهن ڪڍي ٿو.
جيڪڏهن پهريون نقطو خاص طور تي مشڪل نه آهي (اسان کي عام طور تي مکيه () طريقي کي سڏي سگهون ٿا)، پوء ايندڙ ٻه اسان کي موضوع ۾ گهيرو ڪرڻ ۽ اسان جي دماغ کي دٻائڻ لاء مجبور ڪن ٿا. مون مسئلي جا ڪيترائي حل ڳوليا:
وڌ ۾ وڌ ڳولڻ لاءِ منطق کي الڳ طريقي سان منتقل ڪرڻ.
پرو: ريفيڪٽرنگ جي لحاظ کان صحيح طريقو
ڪنس: پروگرام ڪوڊ، غير ضروري ڍانچي، گهٽ ۾ گهٽ هڪ صف يا ArrayList شامل ڪيو ويندو آهي (ذائقو ۽ رنگ تي منحصر ڪري ٿو ...). وڌ ۾ وڌ ڳولڻ لاء صرف ميڪانيزم جي جانچ ڪئي وئي آهي؛ ڊيٽا ان پٽ ۽ آئوٽ جي جانچ نه ڪئي وئي آهي.
System.in/System.out لاءِ ريپر لکڻ.
پرو: اسان ٽئين پارٽي لائبريريون استعمال نٿا ڪريون.
ڪنس: رستو شروعات ڪندڙن لاءِ نه آهي. ٽيسٽ تي عمل درآمد جي لاڳاپي پيچيدگي؛ ٽيسٽ ۾ ڪوڊ جو مقدار ٿي سگھي ٿو وڌيڪ ٿي سگھي ٿو ڪم جي آزمائش کان.
ٽيسٽ لاءِ اضافي لائبريريون استعمال ڪندي.
پرو: ٽيسٽ ۾ صاف ڪوڊ، ٽيسٽ لکڻ جي نسبتا آسان. ٽيسٽ تحت ڪلاس جو سورس ڪوڊ تبديل نه ڪيو ويو آهي.
ڪنس: منصوبي سان ٽئين پارٽي جي لائبريرين کي ڳنڍڻ جي ضرورت آهي.
ايماندار ٿيڻ لاء، مون کي ٽيون اختيار تمام گهڻو پسند ڪيو، تنهنڪري اچو ته ان کي لاڳو ڪرڻ جي ڪوشش ڪريو.
GO TO FULL VERSION