این سومین مقاله در Create a .NET Core Development Environment با استفاده از سری کدهای ویژوال استودیو است. مقالات قبلی این مجموعه را می توانید از لینک های زیر مطالعه کنید.
- با استفاده از کد ویژوال استودیو یک محیط توسعه هسته دات نت ایجاد کنید
- با استفاده از کد ویژوال استودیو - قسمت دوم، یک محیط توسعه هسته دات نت ایجاد کنید
در این مقاله، من در مورد نحوه اجرای Unit Tests در برنامه های NET Core با استفاده از Visual Studio Code صحبت خواهم کرد. تست های واحد بخشی جدایی ناپذیر از توسعه نرم افزار هستند. من قصد ندارم در اینجا تست واحد را با جزئیات توضیح دهم زیرا منابع آنلاین زیادی برای آن وجود دارد. من در مورد نحوه گنجاندن تست های واحد در برنامه های NET Core و در مورد پسوند Visual Studio Code که می تواند برای اجرای تست های واحد استفاده شود صحبت خواهم کرد.
پروژههای NET Core از چارچوبهای تست واحد محبوب در فضای NET پشتیبانی میکنند - xUnit، NUnit و MSTest. من در این مقاله از xUnit استفاده خواهم کرد.
بیایید پروژه SimpleCalcualtor را که در مقاله قبلی ساخته شده بود گسترش دهیم تا تست های واحد خود را اضافه کنیم. اگر آن مقاله را نخوانده اید، لطفاً آن مقاله را بخوانید تا کمی زمینه را پیدا کنید. ما یک کلاس کتابخانه و یک برنامه کنسول در آن پروژه ایجاد کرده بودیم.
بیایید روش های عملیات ریاضی باقی مانده را به پروژه کتابخانه کلاس اضافه کنیم.
- public static class Operations
- {
- public static int Add(int num1, int num2) => num1 + num2;
- public static int Subtract(int num1, int num2) => num1 - num2;
- public static int Multiply(int num1, int num2) => num1 * num2;
- public static int Divide(int num1, int num2) => num1 / num2;
- }
اکنون باید یک پروژه Unit Test را به راه حل اضافه کنیم.
برای افزودن پروژه تست واحد میتوانیم از .NET CLI یا پسوند Solution Explorer (که در مقاله قبلی به آن اشاره کردم) استفاده کنیم. برای افزودن پروژه از طریق افزونه اکسپلورر راه حل، بر روی راه حل راست کلیک کرده و از منوی زمینه گزینه Add New Project را انتخاب کنید. از قالب های پروژه xUnit Test Project را انتخاب کنید و نام MathOperationTests را بگذارید . پس از ایجاد پروژه تست، مرجع کتابخانه کلاس MathOperations را به پروژه تست اضافه کنید.
اگر از دات نت CLI استفاده می کنید باید دستورات زیر را اجرا کنید.
- dotnet new xunit -n MathOperationTests
- dotnet add MathOperationTests\MathOperationTests.csproj reference MathOperations\MathOperations.csproj
UnitTest1.cs را به OperationTests.cs تغییر نام دهید . نام کلاس را در کد نیز تغییر دهید. اکنون چند تست برای متدهای کتابخانه کلاس اضافه می کنیم.
- public class OperationTests
- {
- [Fact]
- public void AddTwoNumbers_ReturnsSum()
- {
- var num1 = 10;
- var num2 = 20;
- var result = Operations.Add(num1, num2);
- Assert.Equal(30, result);
- }
- [Fact]
- public void SubtractTwoNumbers_ReturnsDifference()
- {
- var num1 = 20;
- var num2 = 10;
- var result = Operations.Subtract(num1, num2);
- Assert.Equal(10, result);
- }
- [Fact]
- public void MultiplyTwoNumbers_ReturnsProduct()
- {
- var num1 = 10;
- var num2 = 20;
- var result = Operations.Multiply(num1, num2);
- Assert.Equal(200, result);
- }
- [Fact]
- public void DivideTwoNumbers_ReturnsQuotient()
- {
- var num1 = 20;
- var num2 = 10;
- var result = Operations.Divide(num1, num2);
- Assert.Equal(2, result);
- }
- }
اکنون باید تست هایی را که ایجاد کرده ایم اجرا کنیم. بیایید از NET CLI برای این کار استفاده کنیم. ترمینال را باز کنید. به دایرکتوری MathOperationTests بروید . دستور dotnet test را وارد کنید . خروجی زیر را دریافت خواهیم کرد.
![با استفاده از کد ویژوال استودیو یک محیط توسعه هسته دات نت ایجاد کنید](http://pezhvak24.ir/dl/10kcor/cscd/article/create-a-net-core-development-environment-using-visual-studio-code-part-three/Images/Create A .NET Core Development Environment Using Visual Studio Code1.jpg)
همانطور که می بینید، خروجی اطلاعات کمتری دارد. خوب بود اگر چیزی شبیه به Test Explorer در ویژوال استودیو داشتیم تا تست های واحد خود را اجرا کنیم و نتایج را مشاهده کنیم.
خبر خوب این است که یک پسوند کد ویژوال استودیو برای این کار وجود دارد. این افزونه .NET Core Test Explorer نام دارد. این افزونه را در Visual Studio Code نصب کنید.
![با استفاده از کد ویژوال استودیو یک محیط توسعه هسته دات نت ایجاد کنید](http://pezhvak24.ir/dl/10kcor/cscd/article/create-a-net-core-development-environment-using-visual-studio-code-part-three/Images/Create%20A%20.NET%20Core%20Development%20Environment%20Using%20Visual%20Studio%20Code1.jpg)