استفاده از Unit Test Cases در Mvc

یکشنبه 20 دی 1394

در این مقاله قصد داریم در مورد unit test cases صحبت نماییم، در این مقاله می خواهیم بدانیم چگونه می توان موارد آزمون یک پروژه را در asp.net mvc نوشت.برای درک بهتر موضوع مقاله را مطالعه نمایید.

استفاده از Unit Test Cases در  Mvc

همان طور که میدانید asp.net mvc یک پروژه را به طور کامل و به صورت توسعه محور تست می نماید، که شما می توانید برای اولین بار موارد آزمون خود را بر اساس خروجی ارسال و یا به صورت کد واقعی توسعه دهید.

می توانید  مقاله ی Unit Testing چیست و چرا باید از آن استفاده کرد؟ را قبل از خواندن این مقاله مطالعه نمایید.

هر نرم افزار که خود دارای لایه dataAcsessLayer و Business Layer است باید قبل از رفتن به تولید حتما تست شود، که اگر این اتفاق بیفتد یعنی در مسیر درست نرم افزار شما حرکت کرده است.

شما می توانید همه موارد آزمون را برای همه ی روش های عمومی که نیاز به آزمایش است بنویسید

برای این کار شما یک پروژه ی جدید از نوع asp.net mvc ایجاد نمایید زمانی که می خواهید یک پروژه ایجاد نمایید در قسمت web باید asp.net webapplication را انتخاب نمایید.

به صورت زیر:

پنجره ی جدیدی که باز خواهد شد شما باید mvc را انتخاب نمایید به صورت زیر:

باید گزینه ی add unit test را بزنید.

در قسمت بعد هر دو پروژه را برای شما انتخاب می کند یکی پروژه ی واقعی خود و یکی دیگر پروژه ی تست برای آزمون است، در پروژه ی تست شما می توانید موارد آزمون واقعی خود را برای تست در متد خود قرار دهید.

در زیر هم پروژه ی واقعی وجود دارد هم تست. اولی پروژه ی واقعی شما است و دومی پروژه ی تست می باشد.

به صورت تصویر زیر یک controller ایجاد نمایید داخل آن یک متد index ایجاد نمایید که داخل آن فقط یک view را برمی گرداند.

حالا در پروژه ی تست خود یک controller پیش فرض ایجاد نمایید، در این controller باید متد index را هم تعریف نماییم.

برخی از ویژگی ها و شی ها مورد استفاده برای ایجاد موارد آزمون وجود دارد.

TestClass:این ویژگی تعیین میکند که این کلاس است که برای تست استفاده می شود

TestMethod:روش خاص برای استفاده از ویژگی testmethod و استفاده از موارد test

اگر می خواهید هر کدام از مراحل را تست نمایید باید مراحل زیر را استفاده نمایید.

Arrange:اختصاص دادن مقدار به متغییر برای تست عملکرد

Act:برای اجرا و ثبت نتیجه از روش مقدار پارامتر استفاده می شود.

Assert:این شی آزمون واقعی برای مقایسه داده ها با داده های نتیجه واقعی را انجام می دهد.

ما داخل برنامه ی خود یک متد جدید به نام actionresault در برنامه ی خود اضافه می نماییم.

public ActionResult CheckCountValue(int i)  
{  
   if(i<20)  
   {  
      //business logic goes here  
   }  
   else  
   {  
      throw (new Exception("Out of the Range"));  
   }  
  
   return View();  
}
[TestMethod]  
public void CheckCountValueTest()  
{  
   int count = 400;  
   HomeController controller = new HomeController();  
   ViewResult result = controller.CheckCountValue(count) as ViewResult;  
   Assert.IsNotNull(result);  
} 

در بالا controller اصلی و تست را نوشته ایم.

حالا زمان اجرا موارد آزمون است، به منو تست بروید و Run را انتخاب نمایید و سپس انتخاب تمام آزمون

قبل از اجرای موارد آزمون  باید پروژه ی تست خود را مورد آزمون قرار دهید.

زمانی که پروژه را اجرا نمایید به صورت زیر خواهد بود:

در تصویر بالا تست fail شده است چون ما یک مقدار نا معتبر را وارد کرده ایم، وقتی مقدار value را به مقدار کم تر از 20 تغییر دهیم به این مشکل بر خواهد خورد.

بنابر این شما موارد آزمون خود را پیدا خواهید کرد که برنامه تان با موفقیت اجرا شود، و در این مقاله هدف نوشتن موارد آزمون واحد در asp.net mvc بود.

فایل های ضمیمه

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید