بہتر کوڈ کوالٹی کے لیے C# میں یونٹ ٹیسٹ کیسے لکھیں۔

B Tr Kw Kwal Y K Ly C My Ywn Ys Kys Lk Y



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

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

اس ٹیوٹوریل میں، ہم آپ کو C# اور MSTest ٹیسٹنگ لائبریری کا استعمال کرتے ہوئے یونٹ ٹیسٹنگ کے فریم ورک میں متعارف کرائیں گے۔ ہم ایک بنیادی ایپلی کیشن بنائیں گے جو آپ کو یہ سیکھنے کی اجازت دے گی کہ یونٹ ٹیسٹ کیسے بنائے جائیں، انہیں کیسے چلایا جائے، اور ٹیسٹ کی ناکامی یا کامیابی کے نتائج کی تشریح کیسے کی جائے۔







ٹیسٹنگ ماحول

آئیے ٹیسٹ کے حل اور اپنی بنیادی ایپلیکیشن کو کنفیگر کرنے کے طریقہ پر گفتگو کرتے ہوئے شروع کریں۔



اس ٹیوٹوریل میں ایپلیکیشن کی پیروی کرنے اور اس کی نقل تیار کرنے کے لیے، یقینی بنائیں کہ آپ کے پاس درج ذیل ہیں:



  1. نصب بصری اسٹوڈیو
  2. آپ کی مشین پر .NET اور C# ٹولز کو ترتیب دیا گیا ہے۔

ایک درخواست بنائیں

اگلا، بصری اسٹوڈیو کھولیں اور ایک نیا حل بنائیں۔ اس ٹیوٹوریل کے لیے، ہم ایک بنیادی کیلکولیٹر ایپلی کیشن بنائیں گے۔ آپ اپنی خواہش کے مطابق کسی بھی نام کے ساتھ درخواست دے سکتے ہیں۔





اس کے بعد، ایک نیا پروجیکٹ بنائیں اور پروجیکٹ کی قسم کو MSTest Test Project کے بطور منتخب کریں اور اسے کوئی بھی مطلوبہ نام دیں۔



'حل میں شامل کریں' کو منتخب کرنے اور پہلے سے بنائی گئی ایپ کو منتخب کرنے کو یقینی بنائیں۔

آپ کے پاس مین ایپلیکیشن اور یونٹ ٹیسٹنگ پروجیکٹ ہونا چاہیے جیسا کہ سلوشن ایکسپلورر میں دکھایا گیا ہے۔

کیلکولیٹر ایپلیکیشن کے لیے کوڈ لکھیں۔

اگلا مرحلہ ہماری کیلکولیٹر ایپلیکیشن کے لیے کوڈ لکھ رہا ہے۔ ہم یہ CalcApp 'program.cs' فائل میں کر سکتے ہیں۔

چونکہ ہم بنیادی فعالیت کی تلاش میں ہیں، اس لیے ہم سورس کوڈ کو اس طرح شامل کر سکتے ہیں:

پبلک کلاس کیلکولیٹر
{
عوام دگنا شامل کریں۔ ( دگنا a , دگنا ب )
{
واپسی a + ب ;
}

عوام دگنا گھٹائیں ( دگنا a , دگنا ب )
{
واپسی a - ب ;
}

عوام دگنا ضرب ( دگنا a , دگنا ب )
{
واپسی a * ب ;
}

عوام دگنا تقسیم کرنا ( دگنا a , دگنا ب )
{
اگر ( ب == 0 )
نیا DivideByZeroException پھینک دیں۔ ( ) ;
واپسی a / ب ;
}
}

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

یونٹ ٹیسٹ لکھیں۔

ایک بار جب ہم مکمل کر لیں، ہم 'کیلکولیٹر' کلاس کے لیے یونٹ ٹیسٹ لکھ سکتے ہیں۔ اس معاملے میں، ہمیں بس پروجیکٹ کی 'UnitTest' فائل میں ٹیسٹ لکھنے کی ضرورت ہے:

سسٹم کا استعمال کرتے ہوئے ;

نام کی جگہ CalcApp
{
پبلک کلاس کیلکولیٹر
{
عوام دگنا شامل کریں۔ ( دگنا a , دگنا ب )
{
واپسی a + ب ;
}

عوام دگنا گھٹائیں ( دگنا a , دگنا ب )
{
واپسی a - ب ;
}

عوام دگنا ضرب ( دگنا a , دگنا ب )
{
واپسی a * ب ;
}

عوام دگنا تقسیم کرنا ( دگنا a , دگنا ب )
{
اگر ( ب == 0 )
نیا DivideByZeroException پھینک دیں۔ ( ) ;
واپسی a / ب ;
}
}
}

نام کی جگہ CalcTest
{
[ ٹیسٹ کلاس ]
پبلک کلاس کیلکولیٹر ٹیسٹ
{
نجی کیلکولیٹر کیلکولیٹر ;

[ ٹیسٹ شروع کریں۔ ]
عوام باطل سیٹ اپ ( )
{
کیلکولیٹر = نیا کیلکولیٹر ( ) ;
}

[ ٹیسٹ کا طریقہ کار ]
عوام باطل Add_TwoPositiveNumbers_ReturnsCorrectSum ( )
{
نتیجہ تھا = کیلکولیٹر. شامل کریں۔ ( 5 , 5 ) ;
زور لگانا۔ برابر ہیں ( 10 , نتیجہ ) ;
}

[ ٹیسٹ کا طریقہ کار ]
عوام باطل Subtract_TwoPositiveNumbers_ReturnsCorrectDifference ( )
{
نتیجہ تھا = کیلکولیٹر. گھٹائیں ( 10 , 5 ) ;
زور لگانا۔ برابر ہیں ( 5 , نتیجہ ) ;
}

[ ٹیسٹ کا طریقہ کار ]
عوام باطل ضرب_دو مثبت نمبرز_واپسی درست پروڈکٹ ( )
{
نتیجہ تھا = کیلکولیٹر. ضرب ( 5 , 5 ) ;
زور لگانا۔ برابر ہیں ( 25 ، نتیجہ ) ;
}

[ ٹیسٹ کا طریقہ کار ]
[ ExpectedException ( کی قسم ( DivideByZeroException ) ) ]
عوام باطل Divide_DenominatorIsZero_ThrowsDivideByZeroException ( )
{
نتیجہ تھا = کیلکولیٹر. تقسیم کرنا ( 5 ، 0 ) ;
}

[ ٹیسٹ کا طریقہ کار ]
عوام باطل Divide_TwoPositiveNumbers_ReturnsCorrectQuotient ( )
{
نتیجہ تھا = کیلکولیٹر. تقسیم کرنا ( 10 ، 5 ) ;
زور لگانا۔ برابر ہیں ( 2 ، نتیجہ ) ;
}
}
}

نتیجہ

یہ ایک بنیادی ٹیوٹوریل ہے جو MSTest فریم ورک کا استعمال کرتے ہوئے C# میں یونٹ ٹیسٹنگ کے بنیادی اصولوں کا احاطہ کرتا ہے۔