اجزاء UnitTest در Blazor

برای تست کردن کامپوننت‌های موجود در Blazor لازم است ابتدا nuget زیر را نصب نمایید:

bUnit

سپس کلاسی با اجزاء Arrange، Act و Assert ایجاد کنید.
Arrange به معنی ستاپ کردن بخشی به نام SUT (Subject Under Test) است که در واقع همان کلاس و وابستگی‌های مرتبط به آن است.
Act به معنی اجرای متدی است که قرار است تست شود.
Assert به معنی بررسی خروجی موفق متد است.

یک کلاس از نوع UnitTest شامل متدهایی با Attribute از نوع Fact است.

    public class SquareShould
    {
        [Fact]
        public void Return9For3()
        {
            //Arrange
            var sut = new Utils();
            //Act
            var actual = sut.Square(3);
            //Assert
            Assert.Equal(expected: 3, actual: actual);
        }
    }

برای اینکه به متد تست پارامترهای متفاوتی ارسال کنیم از Attribute دیگری به نام [Theory] استفاده میکنیم که به تست می‌گوید متد ما را با پارامترهای متفاوتی تست کند. همچنین با استفاده از [InLineData] سایر پارامترها را به متد اعلام می‌کنیم.

        [Theory]
        [InlineData(1,1)]
        [InlineData(2,2)]
        [InlineData(-1,-1)]
        public void ReturnSquareOfNumber(int number, int square)
        {
            //Arrange
            var sut = new Utils();
            //Act
            var actual = sut.Square(number);
            //Assert
            Assert.Equal(square, actual);
        }