در این پست از وبسایت پرووید در رابطه با انجام Unit Testing در سی شارپ و .Net Core با xUnit #1 صحبت خواهیم کرد. .NET Core نسل بعدی فریم ورک دات نت است که توسط مایکروسافت معرفی شده است.

در این آموزش از وبسایت پرووید قصد داریم به صورت قدم به قدم شما را در رابطه با ساخت یک پروژه و انجام Unit Testing در .Net Core و آشنایی با مفاهیم آن همراهی کنیم. دقت کنید که توصیه می ‌کنیم قبل از استفاده از این مقاله حتماً از بسته ی ویدئویی آموزش Unit Testing وبسایت پرووید استفاده کنید. ضمنا میتوانید با استفاده از این لینک به کدهای مربوط به این آموزش نیز دسترسی پیدا کنید.

ساخت پروژه

در این آموزش از وبسایت پرووید ما کار را با استفاده از dot net CLI انجام می‌دهیم. آموزش های دیگری از وبسایت پرووید از قبل منتشر شده‌اند که در رابطه با کار کردن و ساخت پروژه ها و فایلهای solution با استفاده از CLI که مخفف Command Line Interface می‌ باشد منتشر شده اند. خب CLI را باز کنید و یک فولدر با نام unit-testing-using-dotnet-test ایجاد کنید.

بسته ی آموزش ویدئویی .NET Core برای برنامه نویسان ویندوز

از شما دعوت می کنیم که از بسته ی آموزش ویدئویی .NET Core برای برنامه نویسان ویندوز دیدن کنید.

این فولدر حاوی solution مورد نظر خواهد بود. در درون این فولدر دستور dotnet new classlib را وارد کنید تا یک solution جدید ایجاد شود. با استفاده از این دستور و ساختن یک solution میتوانید هم پروژه class library و هم پروژه unit test را مدیریت کنید. در درون فولدری که برای solution در نظر گرفته اید یک فولدر با نام PrimeService ایجاد کنید. تا به اینجا ساختار فولدرهای برنامه شبیه زیر می باشند.

فولدر PrimeService را به عنوان current directory در نظر گرفته و دستور dotnet new classlib را اجرا کنید. این موضوع باعث ساخته شدن یک class library جدید می شود. فایل Class1.cs را به PrimeService.cs تغییر نام دهید. اگر می خواهید با استفاده از اصول TDD یا همان Test Driven Development کار کنید اول باید تستی را برای کلاس PrimeService بنویسید که fail شود. در ادامه کد مربوط به PrimeService.cs را مشاهده می کنید.

using System;

namespace Prime.Services
{
    public class PrimeService
    {
        public bool IsPrime(int candidate)
        {
            throw new NotImplementedException("Please create a test first");
        }
    }
}

در ادامه پروژه class library را به solution خود اضافه کنید. این موضوع در کد زیر نشان داده شده است:

dotnet sln add .\PrimeService\PrimeService.csproj

ساختن پروژه unit test

در ادامه یک فولدر با نام PrimeService.Tests ایجاد کرده تا ساختار پروژه ها و فولدرهای برنامه شبیه زیر شود.

فولدر PrimeService.Tests را به عنوان current directory تنظیم کنید و با استفاده از دستور dotnet new xunit یک پروژه جدید ایجاد کنید.

بسته ی آموزش ویدئویی ساخت برنامه های Cross-Platform با .NET Core

از شما دعوت می کنیم که از بسته ی آموزش ویدئویی ساخت برنامه های Cross-Platform با .NET Core دیدن کنید.

این دستور باعث می شود که یک پروژه برا انجام unit testing با استفاده از xUnit ایجاد شود. علاوه بر این پیکربندی های مربوط به test runner در درون فایل PrimeServiceTests.csproj شبیه کد زیر انجام می شود.

<ItemGroup>
  <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.3.0" />
  <PackageReference Include="xunit" Version="2.2.0" />
  <PackageReference Include="xunit.runner.visualstudio" Version="2.2.0" />
</ItemGroup>

برای اینکه پروژه ی unit test بتواند تست ها را ایجاد کند و آنها را Run کند نیاز به dependency های دیگری دارد. دستور dotnet new در قسمت قبلی xUnit و xUnit Runner را به عنوان dependency به پروژه اضافه کرد. هم اکنون ما نیاز به یک رفرنس به پروژه ی PrimeService به عنوان یک Dependency دیگر برای این پروژه داریم که با استفاده از دستور dotnet add reference شبیه به کد زیر این موضوع انجام می شود:

dotnet add reference ../PrimeService/PrimeService.csproj

در حال حاضر ساختار نهایی solution های برنامه شبیه به زیر می باشد.

برای اضافه کردن پروژه ی unit test خود به solution با استفاده از دستور dotnet sln این کار را انجام می‌ دهیم. کد مربوط به این قضیه نیز در قسمت پایین مشخص شده است.

dotnet sln add .\PrimeService.Tests\PrimeService.Tests.csproj

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

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *