All learning paths Learn See Try Make هڪ اهڙي ٽيسٽ لکو جيڪا ناڪام ٿي سگهي What this lesson is about هڪ ٽيسٽ جيڪا هميشه پاس ٿئي ٿي، ڪجهه به ثابت نٿي ڪري. اهڙي لکو جيڪا ڪوڊ غلط هجي ته ڳاڙهي ٿي وڃي، ۽ ان کي ثابت ڪريو.
توهان دڪان جي بلنگ پروگرام ۾ GST واري لائن لاءِ هڪ ٽيسٽ لکيو، ۽ اها فوري طور پاس ٿي وئي. هاڻي ڇا؟
A ساڳي لائن لاءِ ٻه وڌيڪ ٽيسٽ شامل ڪريو، ته جيئن گهٽ ۾ گهٽ هڪ غلطي پڪڙي سگهي. B ٽيسٽ ۾ نمبر تبديل ڪريو جيستائين اها ناڪام نه ٿئي، جنهن سان ڏيکاريو وڃي ٿو ته ٽيسٽ ڳاڙهي ٿي سگهي ٿي. C هڪ ٽيسٽ جيڪا ڪڏهن به ناڪام نٿي ٿئي، ڪجهه به ثابت نٿي ڪري. ڪوڊ ٽوڙيو ۽ ان کي ڳاڙهي ٿيندي ڏسو.
Check my recall Why this matters هڪ ٽيسٽ جيڪا هميشه پاس ٿئي ٿي، اها صرف سينگار آهي. لکڻ ۾ برابر محنت لڳي ٿي ۽ ڪجھ به پڪڙيندي ناهي. ٽيسٽ ڪم ڪرڻ جو واحد ثبوت آهي جڏهن توهان ڄاڻ سان ٽوڙيل ڪوڊ تي ان کي ناڪام ڏسو.
هڪ اهڙي ٽيسٽ لکو جيڪا ڪوڊ غلط هجي ته ڳاڙهي ٿي وڃي، ۽ ان کي ثابت ڪريو.
هڪ ٽيسٽ جيڪا هميشه پاس ٿئي ٿي، اها صرف سينگار آهي. لکڻ ۾ برابر محنت لڳي ٿي ۽ ڪجھ به پڪڙيندي ناهي. ٽيسٽ ڪم ڪرڻ جو واحد ثبوت آهي جڏهن توهان ڄاڻ سان ٽوڙيل ڪوڊ تي ان کي ناڪام ڏسو.
هڪ ٽيسٽ جيڪا ڪڏهن به ناڪام نٿي ٿئي، ڪجهه به ثابت نٿي ڪري. ڪوڊ ٽوڙيو ۽ ان کي ڳاڙهي ٿيندي ڏسو. هڪ ٽيسٽ هڪ ئي رويي کي چيڪ ڪري ٿي، تنهنڪري ان جي ناڪامي هڪ ئي شيءِ کي ظاهر ڪري ٿي. ٽيسٽ جو نالو رويي تي رکو، جيئن ڪو اجنبي ناڪامي پڙهي ۽ سمجهي وڃي. Task هڪ فنڪشن لاءِ ٽيسٽ لکو جيڪو بل جي رقم ۾ 18 سيڪڙو GST شامل ڪري ٿو.
Weak approach فنڪشن کي ٽي مختلف بل رقم سان سڏڻ ۽ هر دفعي صرف اهو چيڪ ڪرڻ ته ڪو نمبر واپس آيو آهي. هر سڏ پاس ٿئي ٿو، ۽ هڪ ٽٽل فنڪشن جيڪو هميشه صفر واپس ڪري ٿو به پاس ٿي ويندو.
Stronger approach چيڪ ڪري ٿو ته 100 تي 118 اچي ٿو، پوءِ شرح صفر ڪري ٿو ۽ پڪ ڪري ٿو ته ساڳي ٽيسٽ ڳاڙهي ٿي وڃي ٿي.
Why the stronger approach works هميشه ڪو نمبر واپس ايندو آهي، تنهنڪري ڪمزور ٽيسٽ ناڪام نٿي ٿي سگهي. مضبوط ٽيسٽ جي ناڪامي ثابت ڪئي وئي.
Try a changed situation هڪ ساٿي توهان کي هڪ ٽيسٽ موڪلي ٿي جيڪا لاگ ان، بل جو مجموعو ۽ ڇپيل رسيد گڏجي چيڪ ڪري ٿي. اها ناڪام ٿي وڃي ٿي. توهان کيس ڇا چوندا؟
Make something yourself هڪ ننڍڙي فنڪشن لاءِ هڪ ٽيسٽ لکو. ان کي صحيح ڪوڊ تي پاس ٿيندي ڏيکاريو، پوءِ ڪوڊ ڄاڻ سان ٽوڙي ساڳي ٽيسٽ کي ناڪام ٿيندي ڏيکاريو. ٻئي نتيجا پيسٽ ڪريو.
Read the primary or official source: Python documentation · unittest