تست کردن کدها با unit test در ASP.NET Mvc (بخش اول)

تست کردن کدها با unit test در ASP.NET Mvc (بخش اول)

برای تست کردن برنامه ای که نوشتید یا می خواهید بنویسید. اگر برنامه ای را نوشتید می توانید با unit test برای آن بنویسید وآن را تست کنید یا حتی اگر تازه visual studio  را باز کرده اید و می خواهید پروژه ی خود را ایجاد کنید می توانید قبل از نوشتن کدها، شروع کنید به نوشتن unit test.
این روش تست کردن به چند دسته تقسیم می شود:
Unit Testing:
این نوع تست روی یک بخش از کد متمرکز می شود، معمولا یک کلاس یا یک متد.
Integration Testing:
وقتی که برنامه به منبع خارجی دسترسی دارد  ( مثل دیتابیس یا لود یک فایل ) ، Integration  گویند.

 

برای تست کردن برنامه ای که نوشتید یا می خواهید بنویسید. اگر برنامه ای را نوشتید می توانید با unit test برای آن بنویسید وآن را تست کنید یا حتی اگر تازه visual studio  را باز کرده اید و می خواهید پروژه ی خود را ایجاد کنید میتوانید قبل از نوشتن کدها، شروع کنید به نوشتن unit test.

این روش تست کردن به چند دسته تقسیم می شود:

Unit Testing:

این نوع تست روی یک بخش از کد متمرکز می شود، معمولا یک کلاس یا یک متد.

Integration Testing:

وقتی که برنامه به منبع خارجی دسترسی دارد  ( مثل دیتابیس یا لود یک فایل ) ، Integration  گویند.

Regression Testing:

با گذشت زمان، وقتی سیستم شما رشد می کند، unit testهای زیادی تولید می شود. Unit testهای قدیمی، نیاز دارند که مثل  unit testهای جدید کار کنند. Regression Testing، یعنی وقتی که تغییر اساسی در کد اتفاق افتاد عیب ها را بتوان پیدا کرد. Unit testهای قدیمی نیاز به refactor دارند برای این که با کدهای جدید مطابقت پیدا کنند.

Load Testing:

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

what is unit test

 برای unit testing این سه مرحله را باید انجام داد:

  1. Arrange: objها را می سازیم و همه چیز را برای تست عملکرد آماده می کنیم.
  2. Act: اجرا و گرفتن خروجی
  3. Assert: مقایسه خروجی نهایی با خروجی مورد انتظار

یک مثال ساده:

[TestClass]
public class WhenRequestingTheAboutPage
{
    [TestMethod]
    public void ThenReturnTheAboutViewModel()
    {
        // Arrange
        var controller = new AboutController();
        // Act 
        // No database calls in the Index() method.
        // Just setting the title.
        var result = controller.Index() as ViewResult;
        var model = result.Model as AboutViewModel;
        // Assert
        Assert.IsNotNull(result);
        Assert.AreEqual("About DanylkoWeb", model.Title);
    }
}

 

این، ساده ترین چیزی است که شما می توانید از کنترلر بخواهید. شما، یک مدل را به view پاس می دهید و آن مقادیری را که نیاز دارد در view جیگزین می کند.

نظرات یا سوالات خودرا با ما درمیان بگذارید

0912 097 5516 :شماره تماس
0713 625 1757 :شماره تماس