آموزش Unit Testing بخش سوم

افزودن رفرنس پروژه :

چون پروژه جدید یعنی (UnitTestProject) قرار است پروژه قبلی یعنی (UnitTestingApp) را تست کند ، باید رفرنس پروژه اول را به پروژه تست اضافه کنیم . بنابراین در زیرشاخه پروژه تست ، روی فولدر References راست کلیک کرده و add Reference… را انتخاب می کنیم .

مطابق تصویر زیر در پنجره باز شده ، در حالی که در سمت چپ ، Solutions در حالت انتخاب است ، در سمت راست ، تیک گزینه موجود را بزنید :

افزودن رفرنس پروژه

 

کلاس UnitTest :

مشاهده می شود که در زیرمجموعه پروژه تست ، یک کلاس بطور پیش فرض بنام UnitTest1.cs ایجاد شده است . کلاس هایی که میخواهیم کار تست را انجام دهند باید اتریبیوت [TestClass] را داشته باشند . در این کلاس میتوانید چند تابع تعریف کنید که کار تست را انجام دهند .

نکته : تابعی تست پذیر است که دارای اتریبیوت [TestMethod] باشد :

کلاس Unit Test

کلاس Assert :

در بدنه این تابع ، باید کلاسی بنام Assert را پیاده سازی کنیم . در واقع کار اصلی تست کردن را این کلاس  انجام می دهد . این کلاس بصورت استاتیک (static) تعریف شده است . بنابراین برای استفاده از آن نیازی نیست از آن شئ بسازیم . بلکه بصورت تصویر زیر مستقیما نام کلاس را نوشته و سپس نقطه (.) میزنیم و متدهای آن کلاس نمایش داده می شود (مانند AreEqual , AreSame , IsNull , IsTrue , …)

همانطور که در تصویر زیر مشاهده می کنید ، این کلاس دو پارامتر expected , actual می پذیرد که پارامتر expected مقداری که انتظار میرود است و پارامتر actual مقدار واقعی بدست آمده می باشد .

کلاس Assert

 

تعریف TestMethod1 :

تا بدین جا کدهای زیر را در متد TestMethod1 تعریف کنید :

 
public void TestMethod1()
{
    string strSource = null;
    string strActual = UnitTestingApp.Utility.FixText(strSource);
    Assert.AreEqual(expected: string.Empty, actual: strActual);
}
                                 

تعریف کلی تست : میخواهیم بررسی کنیم که با مقدار ورودی strSource ، آن چیزی که بدست می آید (actual) با آن چیزی که من انتظار دارم (expected) برابر است یا نه .

نکته : مقدار expected را کسی که از سیستم مطلع است و بر آن مسلط است میتواند اعلام کند .

در مثال فوق ، میخواهیم اگر رشته ورودی (strSource) برابر null بود ، null String (string.Empty) تحویل بگیریم .

 

خب دوستان تا بدین جا با کلاس Assert و کارایی آن آشنا شدید و یک TestMethod را با هم نوشتیم .

در مقاله بعد ، سراغ نوشتن TestMethod های دیگر خواهیم رفت . همراه ما باشید …surprise


تاریخ انتشار : ۱۰ اسفند ۱۳۹۴



دیدگاه ها :