NUnit এবং Xunit এর ব্যবহার

Microsoft Technologies - এএসপি ডট নেট এমভিসি (ASP.Net MVC) ইউনিট টেস্টিং এবং টেস্ট ড্রাইভন ডেভেলপমেন্ট (TDD) |
201
201

NUnit এবং Xunit হলো দুটি জনপ্রিয় .NET ভিত্তিক টেস্টিং ফ্রেমওয়ার্ক, যা ব্যবহারকারীরা ইউনিট টেস্টিং এবং অ্যাপ্লিকেশন কোডের কার্যকারিতা যাচাই করতে ব্যবহার করে। ইউনিট টেস্টিং ডেভেলপারদের জন্য একটি গুরুত্বপূর্ণ প্রক্রিয়া, যার মাধ্যমে কোডের ছোট অংশগুলো পরীক্ষা করা হয় যাতে তারা প্রত্যাশিতভাবে কাজ করে কিনা তা নিশ্চিত করা যায়। NUnit এবং Xunit উভয়ই এই কাজের জন্য উপযুক্ত, তবে তাদের মধ্যে কিছু পার্থক্য রয়েছে।

এখানে NUnit এবং Xunit ব্যবহার করার প্রক্রিয়া এবং সুবিধাগুলি বিস্তারিতভাবে আলোচনা করা হবে।


NUnit এর ব্যবহার

NUnit একটি শক্তিশালী এবং বিস্তৃত টেস্টিং ফ্রেমওয়ার্ক যা .NET অ্যাপ্লিকেশনগুলির জন্য বিভিন্ন টেস্টিং কৌশল প্রদান করে। এটি Attribute-based অ্যাপ্রোচে কাজ করে, যেখানে প্রতিটি টেস্ট মেথডের জন্য নির্দিষ্ট অ্যাট্রিবিউট ব্যবহার করা হয়।

1. NUnit ইনস্টলেশন

NUnit ব্যবহার শুরু করার জন্য আপনাকে প্রথমে NUnit এবং NUnit3TestAdapter NuGet প্যাকেজ ইনস্টল করতে হবে।

Install-Package NUnit
Install-Package NUnit3TestAdapter

2. নতুন টেস্ট কেস তৈরি করা

NUnit-এ একটি টেস্ট মেথড তৈরি করতে Test অ্যাট্রিবিউট ব্যবহার করা হয়। উদাহরণস্বরূপ:

using NUnit.Framework;

[TestFixture]
public class CalculatorTests
{
    [Test]
    public void Add_TwoNumbers_ReturnsCorrectSum()
    {
        var calculator = new Calculator();
        int result = calculator.Add(2, 3);
        Assert.AreEqual(5, result);
    }
}

এখানে:

  • TestFixture অ্যাট্রিবিউট দ্বারা কনটেইনার ক্লাস চিহ্নিত করা হয়।
  • Test অ্যাট্রিবিউট দ্বারা একটি টেস্ট মেথড চিহ্নিত করা হয়।
  • Assert.AreEqual() মেথডটি টেস্টের আউটপুট এবং প্রত্যাশিত আউটপুট তুলনা করে।

3. Assert ব্যবহার

NUnit-এ Assert ক্লাসের মাধ্যমে বিভিন্ন শর্ত পরীক্ষা করা হয়, যেমন:

  • Assert.AreEqual(expected, actual): দুটি মানের সমতা পরীক্ষা করে।
  • Assert.IsTrue(condition): একটি শর্ত সঠিক কিনা তা পরীক্ষা করে।
  • Assert.IsNotNull(object): অবজেক্ট নাল নয় কিনা তা পরীক্ষা করে।

4. Setup এবং Teardown

Setup এবং Teardown মেথডগুলি টেস্টের আগে এবং পরে প্রয়োজনীয় প্রস্তুতি এবং পরিস্কার করতে ব্যবহৃত হয়।

[TestFixture]
public class CalculatorTests
{
    private Calculator _calculator;

    [SetUp]
    public void Setup()
    {
        _calculator = new Calculator();
    }

    [Test]
    public void Add_TwoNumbers_ReturnsCorrectSum()
    {
        var result = _calculator.Add(2, 3);
        Assert.AreEqual(5, result);
    }

    [TearDown]
    public void TearDown()
    {
        _calculator = null;
    }
}

Xunit এর ব্যবহার

Xunit একটি আরও আধুনিক টেস্টিং ফ্রেমওয়ার্ক যা NUnit-এর তুলনায় কিছু উন্নত বৈশিষ্ট্য এবং স্বতন্ত্র অ্যাট্রিবিউট ব্যবহারের সুবিধা প্রদান করে। Xunit মডুলার এবং লাইটওয়েট, এবং এটি কেবলমাত্র একটি Assert মেথডের সাথে টেস্টিং পরিচালনা করে।

1. Xunit ইনস্টলেশন

Xunit ব্যবহার করার জন্য আপনাকে প্রথমে Xunit এবং Xunit.runner.visualstudio NuGet প্যাকেজ ইনস্টল করতে হবে।

Install-Package xunit
Install-Package xunit.runner.visualstudio

2. নতুন টেস্ট কেস তৈরি করা

Xunit-এ টেস্ট মেথড তৈরি করতে Fact অ্যাট্রিবিউট ব্যবহার করা হয়। উদাহরণস্বরূপ:

using Xunit;

public class CalculatorTests
{
    [Fact]
    public void Add_TwoNumbers_ReturnsCorrectSum()
    {
        var calculator = new Calculator();
        int result = calculator.Add(2, 3);
        Assert.Equal(5, result);
    }
}

এখানে:

  • Fact অ্যাট্রিবিউট টেস্ট মেথড চিহ্নিত করতে ব্যবহৃত হয়।
  • Assert.Equal() মেথডটি টেস্টের আউটপুট এবং প্রত্যাশিত আউটপুট তুলনা করে।

3. Assert ব্যবহার

Xunit-এ Assert ক্লাসের মাধ্যমে পরীক্ষাটি করা হয়। যেমন:

  • Assert.Equal(expected, actual): দুটি মানের সমতা পরীক্ষা করে।
  • Assert.True(condition): একটি শর্ত সত্য কিনা তা পরীক্ষা করে।
  • Assert.NotNull(object): অবজেক্ট নাল নয় কিনা তা পরীক্ষা করে।

4. Fixture (Setup এবং Teardown)

Xunit-এ IClassFixture<T> এবং ICollectionFixture<T> ব্যবহার করে Setup এবং Teardown কার্যকলাপ সম্পাদন করা হয়। উদাহরণস্বরূপ:

public class CalculatorTests : IClassFixture<CalculatorFixture>
{
    private readonly CalculatorFixture _fixture;

    public CalculatorTests(CalculatorFixture fixture)
    {
        _fixture = fixture;
    }

    [Fact]
    public void Add_TwoNumbers_ReturnsCorrectSum()
    {
        var result = _fixture.Calculator.Add(2, 3);
        Assert.Equal(5, result);
    }
}

public class CalculatorFixture
{
    public Calculator Calculator { get; private set; }

    public CalculatorFixture()
    {
        Calculator = new Calculator();
    }
}

এখানে, CalculatorFixture ক্লাসটি Setup এর মতো কাজ করছে, যেখানে Calculator অবজেক্টটি প্রস্তুত করা হচ্ছে এবং পরে টেস্টে ব্যবহৃত হচ্ছে।


NUnit এবং Xunit এর মধ্যে পার্থক্য

বৈশিষ্ট্যNUnitXunit
Attribute-based TestingTest, SetUp, TearDownFact, Theory
Test Case Reusabilityফিক্সচার এবং কাস্টম সেটআপ/টিয়ারডাউনIClassFixture<T> এবং ICollectionFixture<T>
Multiple Assertionsসমর্থন করেসমর্থন করে
ParameterizationTestCase ব্যবহারTheory ব্যবহার
Compatibilityঅধিক জনপ্রিয়, legacy প্রজেক্টে ব্যবহৃতআধুনিক, সিম্পল এবং লাইটওয়েট

উপসংহার

NUnit এবং Xunit উভয়ই শক্তিশালী এবং কার্যকর টেস্টিং ফ্রেমওয়ার্ক, তবে তাদের ব্যবহারের মধ্যে কিছু পার্থক্য রয়েছে। NUnit সাধারণত বেশি বিস্তৃত এবং অনেক পুরানো প্রজেক্টে ব্যবহৃত হয়, যেখানে Xunit আধুনিক, সহজ এবং আরও সহজবোধ্য। দুইটি ফ্রেমওয়ার্কের মধ্যে ব্যবহৃত অ্যাট্রিবিউট এবং ফিক্সচার ব্যবস্থা কিছুটা আলাদা হলেও, দুটি ফ্রেমওয়ার্কই .NET প্ল্যাটফর্মে ইউনিট টেস্টিংয়ের জন্য উপযুক্ত।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion