گولانگ میں یونٹ ٹیسٹ کیسے لکھیں؟

Gwlang My Ywn Ys Kys Lk Y



اگر آپ گو ڈویلپر ہیں، تو آپ جانتے ہیں کہ آپ کے کوڈ کے معیار کو یقینی بنانے کے لیے جانچ کتنی اہم ہے۔ تحریر یونٹ ٹیسٹ ترقی کے عمل کا ایک لازمی حصہ ہے، اور یہ آپ کو کیڑے جلد پکڑنے میں مدد دے سکتا ہے، جس سے آپ کا وقت اور پیسہ طویل عرصے میں بچتا ہے۔ اس مضمون میں، ہم بحث کریں گے کہ کیسے لکھیں۔ یونٹ ٹیسٹ گولانگ میں

یونٹ ٹیسٹنگ کیا ہے؟

پہلا قدم یہ سمجھنا ہے کہ کیا ہے۔ یونٹ ٹیسٹنگ مطلب یونٹ ٹیسٹنگ چھوٹے کوڈ یونٹس یا ماڈیولز کی جانچ کے عمل سے مراد یہ یقینی بنانے کے لیے کہ ان میں سے ہر ایک توقع کے مطابق کام کرتا ہے۔ یونٹ ٹیسٹنگ کوڈ سے مسائل کو دور کرنے، کوڈ کے استحکام کو بہتر بنانے اور کوڈ کو اپ ڈیٹ کرتے وقت درستگی کو یقینی بنانے کے لیے استعمال کیا جاتا ہے۔ سافٹ ویئر ٹیسٹنگ کا ابتدائی مرحلہ ہے۔ یونٹ ٹیسٹ ، جس کے بعد UI ٹیسٹ اور انٹیگریشن ٹیسٹ ہوتا ہے۔

ٹیسٹنگ پیکیج

گولانگ میں یونٹ ٹیسٹنگ نامی پیکیج کا استعمال کرتے ہوئے انجام دیا جاتا ہے۔ ٹیسٹنگ . پیکج مختلف افعال فراہم کرتا ہے جو ہمیں اپنے کوڈ کی جانچ کرنے کی اجازت دیتا ہے۔ گو کوڈ کو ٹیسٹنگ پیکیج کی مدد سے خود بخود جانچا جا سکتا ہے۔







ٹیسٹ کے لیے مثالی پروگرام

ہمیں اپنے ٹیسٹ کے لیے کچھ کوڈ کی ضرورت ہے اس سے پہلے کہ ہم کوئی لکھ سکیں یونٹ ٹیسٹ . ہم ایک چھوٹا سا پروگرام بنائیں گے جس میں دو نمبر شامل ہوں گے۔



اہم پیکیج

درآمد (
'fmt'
)
funcAdd ( a int ، ب int ) int {
واپسی a + ب
}

فنک مین ( ) {
ایف ایم ٹی پرنٹ ایل این ( شامل کریں۔ ( 2 ، 3 ) )
}

مندرجہ بالا کوڈ کی وضاحت کرتا ہے۔ شامل کریں() فنکشن، جو دو نمبروں کا اضافہ کرتا ہے، a اور ب ، بطور ان پٹ اور آؤٹ پٹ نتیجہ کو ایک عدد کے طور پر۔ نمبر 2 اور 3 کو شامل کرنا وہ سب کچھ ہے جو مرکزی فنکشن نتیجہ پرنٹ کرنے سے پہلے کرتا ہے۔







چلتے پھرتے تحریری یونٹ ٹیسٹ کا کنونشن

ہر گو پروجیکٹ کے پاس ایک علیحدہ ٹیسٹ فائل ہونی چاہیے جس میں اس پروجیکٹ کے تمام ٹیسٹ شامل ہوں۔ فائل کا وہی نام ہونا چاہئے جو فائل کی جانچ کی جا رہی ہے اور ہونا چاہئے۔ _test.go فائل نام کے آخر میں شامل کیا گیا۔ مثال کے طور پر، اگر ہم نام کی فائل کو جانچنا چاہتے ہیں۔ calculator.go ہمیں اپنی ٹیسٹ فائل کا نام دینا چاہیے۔ calculator_test.go .

کے لیے یہ معیاری مشق ہے۔ فائلوں کی جانچ کریں۔ اسی پیکیج یا ڈائرکٹری میں واقع ہونا جس کوڈ کا وہ جائزہ لے رہے ہیں۔ جب آپ گو بلڈ کمانڈ استعمال کرتے ہیں، تو کمپائلر ان فائلوں کو نہیں بناتا، لہذا آپ کو ان کی تعیناتیوں میں ظاہر ہونے کے بارے میں فکر مند ہونے کی ضرورت نہیں ہے۔



لکھنا a یونٹ ٹیسٹ Go میں، ہمیں استعمال کرنے کی ضرورت ہے۔ ٹیسٹنگ پیکج ہم ہر ٹیسٹ فنکشن کو لفظ سے شروع کر سکتے ہیں۔ پرکھ اور پھر اس کی تفصیل شامل کریں جس کی ہم جانچ کرنا چاہتے ہیں۔ مثال کے طور پر، ٹیسٹ ایڈیشن یا ٹیسٹ گھٹاؤ . اس کے بعد ہم ٹیسٹ کوڈ لکھ سکتے ہیں جو یہ چیک کرتا ہے کہ آیا ہم جس فنکشن کی جانچ کر رہے ہیں وہ متوقع نتائج دیتا ہے۔

گو میں، ہر ٹیسٹ فنکشن بیان سے شروع ہونا چاہیے۔ t := ٹیسٹنگ۔T{}۔ یہ بیان ایک نئی تخلیق کرتا ہے۔ ٹیسٹنگ اعتراض جسے ہم جانچنے کے لیے استعمال کر سکتے ہیں کہ آیا ٹیسٹ پاس ہوا ہے یا ناکام۔ پھر ہم استعمال کر سکتے ہیں t.Errorf() اگر ٹیسٹ ناکام ہوجاتا ہے تو غلطی کا پیغام پرنٹ کرنے کے لئے فنکشن۔

ٹیسٹنگ کوڈ کیسے لکھیں؟

جب گو میں یونٹ ٹیسٹ لکھنے کی بات آتی ہے، تو اس پیکج کی وضاحت کرکے شروع کرنا ضروری ہے جس کی آپ جانچ کرنا چاہتے ہیں۔ ٹیسٹنگ پیکج درآمد کرنے کے بعد، آپ مختلف اقسام اور طریقوں تک رسائی حاصل کر سکتے ہیں جو پیکیج برآمد کرتا ہے، بشمول ٹیسٹنگ ٹی قسم ٹیسٹنگ لاجک خود ایک فنکشن میں لکھا جاتا ہے جو کلیدی لفظ سے شروع ہوتا ہے۔ 'پرکھ' اس کے بعد ایک وضاحتی نام، جیسے TestAdd() . اس فنکشن کے اندر، آپ ٹیسٹ کے لیے کوڈ اور متوقع رویے کی تصدیق کے لیے ضروری دعوے شامل کر سکتے ہیں۔

خلاصہ یہ کہ گو میں ٹیسٹ کی خصوصیات درج ذیل ہیں:

  • واحد اور صرف مطلوبہ پیرامیٹر ہے۔ t *ٹیسٹنگ ٹی
  • ٹیسٹنگ فنکشن لفظ Test سے شروع ہوتا ہے اور اس کے بعد ایک لفظ یا فقرہ آتا ہے جو بڑے حرف سے شروع ہوتا ہے۔
  • ناکامی کی نشاندہی کرنے کے لیے، ٹیسٹنگ فنکشن کو یا تو کال کرنا چاہیے۔ t.Errorf یا t. ناکام، اور بغیر کسی ناکامی کے اضافی ڈیبگ معلومات فراہم کرنے کے لیے، t.Log استعمال کیا جا سکتا ہے۔
  • غیر ناکام ڈیبگ معلومات فراہم کرنے کے لیے، t.Log کو ملازمت دیں۔
  • ٹیسٹ نام کے ساتھ فائلوں میں محفوظ کیے جاتے ہیں۔ foo_test.go ، مثال کے طور پر، math_test.go .

فائل کو محفوظ کرنے کے بعد اسے بند کر دیں۔

اہم پیکیج

درآمد (
'ٹیسٹنگ'
)

funcTestAdd ( t * ٹیسٹنگ ٹی ) {
نتیجہ := شامل کریں۔ ( 2 ، 3 )
اگر نتیجہ != 5 {
t خرابی ( 'شامل کریں(2, 3) = %d؛ 5 چاہتے ہیں' ، نتیجہ )
}
}

دی شامل کریں() فنکشن کی طرف سے ٹیسٹ کیا جاتا ہے TestAdd() فنکشن، جس کی وضاحت اس ٹیسٹ میں کی گئی ہے۔ یہ Add کو کال کرنے کے لیے نمبر 2 اور 3 کا استعمال کرتا ہے، اور پھر یہ تصدیق کرتا ہے کہ نتیجہ 5 ہے۔ اگر نتیجہ 5 سے کم ہو تو ایک غلطی کا پیغام پرنٹ کیا جاتا ہے۔ t.Errorf() پکارا جاتا ہے.

آخر میں، یہ جاننا ضروری ہے کہ گو میں بلٹ ان ٹیسٹنگ ٹول ہے جسے کہا جاتا ہے۔ ٹیسٹ جاؤ. یہ ٹول پروجیکٹ میں تمام ٹیسٹ چلاتا ہے اور نتائج کی رپورٹ فراہم کرتا ہے۔ جاؤ ٹیسٹ ٹیسٹ شروع کرنے کے لیے پروجیکٹ ڈائرکٹری میں رہتے ہوئے ٹرمینل میں ٹائپ کرنا ضروری ہے۔ اس ڈائرکٹری میں تمام ٹیسٹ اس کے نتیجے میں چلیں گے۔

< مضبوط > ٹیسٹ جاؤ < پرکھ - فائل - نام > _پرکھ. جاؤ مضبوط >

یونٹ ٹیسٹ کے نتائج

آؤٹ پٹ آپ کو ٹیسٹ فنکشن دکھائے گا جو پاس ہوئے، ناکام ہوئے، یا چھوڑ گئے۔

پاس یا ٹھیک ہے۔ اشارہ کرتا ہے کہ کوڈ حسب منشا کام کر رہا ہے۔ آپ کو موصول ہوجائیگا فیل اگر کوئی ٹیسٹ ناکام ہو جاتا ہے۔

دی _test.go لاحقہ صرف وہی ہے جسے go test subcommand فائلوں میں چیک کرتا ہے۔ اس کے بعد، go test ان فائلوں کو کسی خاص فنکشنز، جیسے func کے لیے تلاش کریں۔ ٹیسٹ ایکس ایکس ایکس اور کئی دوسرے. گو ٹیسٹ ان فنکشنز کو صحیح طریقے سے بناتا اور کال کرتا ہے، ان پر عمل درآمد کرتا ہے، نتائج کو جمع کرتا ہے اور رپورٹ کرتا ہے، اور آخر میں ایک عارضی مین پیکج میں ہر چیز کو صاف کرتا ہے۔

آخری مرحلہ اپنے ٹیسٹوں کو اپنے ترقیاتی کام کے فلو میں ضم کرنا ہے۔ بہترین عمل یہ ہے کہ جب بھی آپ اپنے کوڈ کو کسی ریپوزٹری میں کمٹ کریں تو اپنے ٹیسٹ چلائیں۔ آپ کے ٹیسٹوں کا آپ کے ترقیاتی ورک فلو میں انضمام اس بات کو یقینی بناتا ہے کہ آپ کے کوڈ کی مسلسل جانچ کی جاتی ہے، اور کسی بھی مسئلے کو تعیناتی سے پہلے حل کر لیا جاتا ہے۔

نتیجہ

تحریر یونٹ ٹیسٹ سافٹ ویئر ڈویلپمنٹ کا ایک اہم جزو ہے کیونکہ یہ اس بات کی ضمانت دیتا ہے کہ آپ کا کوڈ قابل توسیع، فعال اور موثر ہے۔ گو ٹیسٹنگ لائبریری استعمال میں آسان اور سیدھی ہے۔ آپ کو گولنگ بنانے کے قابل ہونا چاہئے۔ یونٹ ٹیسٹ اوپر درج طریقہ کار پر عمل کرکے اعلیٰ ترین معیار کا۔ اپنے ٹیسٹوں کو اپنے ترقیاتی ورک فلو میں ضم کرنا یاد رکھیں تاکہ یہ یقینی بنایا جا سکے کہ آپ کے کوڈ کی مسلسل جانچ کی جاتی ہے، اور کسی بھی مسئلے کو تعیناتی سے پہلے حل کر لیا جاتا ہے۔