پرشین تم مقالات آموزش تست واحد با NUnit در سی شارپ

آموزش تست واحد با NUnit در سی شارپ

image profile پرشین تم - 03 دی 1403 - 01:57 دانلود مقاله

بیایید یک مثال اساسی از نحوه نوشتن یک تست واحد در سی شارپ با استفاده از چارچوب NUnit را مرور کنیم. این فریم ورک به دلیل سادگی و ویژگی های قدرتمند به طور گسترده ای برای تست واحد دات نت استفاده می شود.

آموزش تست واحد با NUnit در سی شارپ

 

تست واحد چیست؟

تست واحد فرآیندی است که در آن واحدها یا اجزای یک نرم افزار آزمایش می شوند تا اطمینان حاصل شود که مطابق انتظار کار می کنند. هدف این است که هر قسمت از برنامه را جدا کنید و نشان دهید که هر قسمت صحیح است.

 

مراحل نوشتن تست های واحد در سی شارپ با NUnit:

1. ایجاد یک کلاس ساده برای آزمایش: بیایید با یک کلاس Calculator ساده شروع کنیم که دو متد دارد: Add و Subtract.

public class Calculator
{
    public int Add(int a, int b)
    {
        return a + b;
    }

    public int Subtract(int a, int b)
    {
        return a - b;
    }
}

2. محیط تست را تنظیم کنید:

  • مطمئن شوید که یک پروژه تست واحد در راه حل خود دارید.
  • NUnit و NUnit3TestAdapter را از طریق NuGet Package Manager نصب کنید. اینها ابزارهایی هستند که به شما در نوشتن و اجرای تست ها کمک می کنند.

3. اولین تست خود را بنویسید: یک کلاس آزمایشی جدید به نام CalculatorTests در پروژه آزمایشی خود ایجاد کنید.

using NUnit.Framework;

[TestFixture] // This marks the class as containing test methods
public class CalculatorTests
{
    private Calculator _calculator;
    [SetUp] // This runs before each test method
    public void SetUp()
    {
        _calculator = new Calculator(); // Initialize the Calculator object before each test
    }

    [Test] // This marks the method as a test
    public void Add_WhenCalled_ReturnsSumOfArguments()
    {
        var result = _calculator.Add(2, 3);
        Assert.AreEqual(5, result); // Check if the result is as expected
    }

    [Test] // Another test method
    public void Subtract_WhenCalled_ReturnsDifferenceOfArguments()
    {
        var result = _calculator.Subtract(5, 3);
        Assert.AreEqual(2, result); // Check if the result is as expected
    }
}

توضیح کد آزمون:

  • [TestFixture]: این ویژگی به NUnit می‌گوید که این کلاس حاوی تست‌هایی است.
  • SetUp(): متد SetUp قبل از هر تست اجرا می شود. شی ماشین حساب را مقداردهی اولیه می کند و از یک نمونه جدید برای هر تست اطمینان حاصل می کند.
  • [Test]: این ویژگی متدها را به عنوان تست هایی که NUnit باید اجرا کند علامت گذاری می کند.
  • Assert.AreEqual(): این بررسی می کند که آیا نتیجه حاصل از متد Add یا Subtract همان چیزی است که ما انتظار داریم. اگر مقادیر مورد انتظار و واقعی مطابقت نداشته باشند، آزمون با شکست مواجه می شود.

 

اجرای تست ها:

1. Open Test Explorer: در Visual Studio، Test Explorer را باز کنید تا تست های خود را ببینید.

2. اجرای تست ها: برای اجرای تمام تست ها روی دکمه "Run All" کلیک کنید.

3. بررسی نتایج: اکسپلورر تست نشان می‌دهد که کدام تست‌ها قبول شده‌اند و کدام شکست خورده‌اند. اگر همه چیز خوب پیش برود، آزمون‌های شما باید قبول شوند، که نشان می‌دهد روش‌های ماشین حساب مطابق انتظار کار می‌کنند.

 

بهترین روش ها برای تست واحد:

1. Arrange, Act, Assert:

  • Arrange: اشیاء و پیش نیازهای آزمون را تنظیم کنید.
  • Act: روش مورد آزمایش را اجرا کنید.
  • Assert: نتیجه را تأیید کنید.
[Test]
public void Add_WhenCalled_ReturnsSumOfArguments()
{
    // Arrange
    var calculator = new Calculator();    

    // Act
    var result = calculator.Add(2, 3);
  
    // Assert
    Assert.AreEqual(5, result);
}

2. نام‌های آزمون تشریحی: از نام‌هایی استفاده کنید که به وضوح آنچه را که آزمون انجام می‌دهد و آنچه را بررسی می‌کند، توصیف کند.

[Test]
public void Add_GivenTwoPositiveNumbers_ReturnsTheirSum()

3. جداسازی آزمون ها: اطمینان حاصل کنید که هر آزمون مستقل است. از تکیه بر نتیجه یا وضعیت سایر آزمایشات خودداری کنید.

 

تست واحد کمک می کند تا اطمینان حاصل شود که کد شما به درستی کار می کند و یافتن اشکالات در مراحل اولیه توسعه را آسان تر می کند.

با خرید اشتراک می توانید تا چندین برابر مبلغ خرید اشتراک خود قالب های HTML ، سورس کدهای آماده و یا مقالات دانلود کنید
شما می توانید تنها فقط با مبلغ 3,000,000 میلیون تومان وب سایت سفارسی برای خود داشته باشید
محبوب ترین مقالات
تفاوت بین CSS و SCSS چیست؟ تفاوت بین CSS و SCSS چیست؟
category برنامه نویسی 07 اسفند 1402
تفاوت بین RDBMS و DBMS تفاوت بین RDBMS و DBMS
category برنامه نویسی 02 فروردین 1403
کاوش در معماری GPT-3 کاوش در معماری GPT-3
category هوش مصنوعی 12 اسفند 1402
کلمات کلیدی در SQL کلمات کلیدی در SQL
category برنامه نویسی 01 خرداد 1403
تفاوت بین CSS، SASS و SCSS چیست؟ تفاوت بین CSS، SASS و SCSS چیست؟
category برنامه نویسی 13 اسفند 1402
ChatGPT چیست؟ ChatGPT چیست؟
category هوش مصنوعی 12 اسفند 1402
انواع Join در SQL انواع Join در SQL
category برنامه نویسی 02 فروردین 1403
آخرین مقالات
آموزش کامل و جامع Git آموزش کامل و جامع Git Git یک سیستم کنترل نسخه قدرتمند که برای مدیریت و ردیابی تغییرات در کد شما ضروری است. ما در این آموزش اصول اولیه را پوش...
category برنامه نویسی 21 دی 1403
React چیست؟ آشنایی با اصول و تاریخچه React React چیست؟ آشنایی با اصول و تاریخچه React React که با نام‌های React.js یا ReactJS نیز شناخته می‌شود، یک کتابخانه جاوا اسکریپت برای ساخت رابط‌های کاربری است که ت...
category برنامه نویسی 19 دی 1403
معرفی React و سرفصل های دوره آموزش React معرفی React و سرفصل های دوره آموزش React React یک کتابخانه محبوب جاوا اسکریپت است که برای ساخت رابط های کاربری، به ویژه برنامه های تک صفحه ای استفاده می شود. ا...
category برنامه نویسی 19 دی 1403