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