آموزش انجام Unit Testing در Web API های ASP.NET Core

Unit Testing an ASP.NET Core 6 Web API
تعداد ویدئو 94
زمان دوره 05:25:29
مترجم پرووید
ناظر ترجمه پرووید
دوبلر پرووید
ناظر دوبلاژ پرووید
سایت منتشر کننده پلورال سایت

آموزش انجام Unit Testing در Web API های ASP.NET Core یکی دیگر از آموزش های گروه آموزشی پرووید می باشد که در این قسمت آن را به شما معرفی می کنیم. این بسته ی آموزشی نیز یکی از دوره های آموزشی دیگر که در حوزه ی فارسی سازی آموزش های انگلیسی تنظیم شده است می باشد. عنوان این بسته  آموزشی انجام Unit Testing در Web API های ASP.NET Core 6 است که با نام اصلی Unit Testing an ASP.NET Core 6 Web API از شرکت Pluralsight منتشر شده است.

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

تست واحد و یا unit testing یکی از انواع تست نرم افزار است که در آن واحد ها و یا Unit ها در یک نرم افزار تست می شود. هدف از unit testing راستی آزمایی این موضوع است که هر کدام از واحد ها و یا Unit ها کار خود را به درستی انجام می دهند و یا کد نوشته شده در آنها بر اساس آنچه که ما توقع داریم کار می کنند. unit testing در زمان توسعه و یا development انجام می پذیرد. به عبارت دیگر در فاز کدنویسی یک اپلیکیشن توسط برنامه نویس ها کدهای مربوط به unit test ها نیز نوشته می شود. با استفاده از unit testing می توانید یک قسمت از کد را از قسمت های دیگر تفکیک و یا ایزوله کرده و صحت عملکرد آن را ارزیابی کنید. ضمناً منظور از یک واحد و یا Unit می تواند یک function تک و یا یک متد و یا حتی یک module و یا یک آبجکت باشد. در چرخه توسعه نرم افزار و یا SDLC انجام unit test ها در اولین مرحله از تست نرم افزار و قبل از integration testing قرار می گیرد. ضمناً unit testing یک روش از white box testing است که عموماً توسط خود برنامه نویس انجام می پذیرد. البته در دنیای واقعی به خاطر صرفه جویی کردن در زمان برنامه نویسان، مهندسین بخش تضمین کیفیت و یا QA عملیات unit testing را انجام می دهند.

Unit-Testing-an-ASP.NET-Core-6-Web-API-snapshot

چگونه Unit Testing را انجام بدهیم؟

به منظور انجام unit testing برنامه نویسان یک قسمت از کد نوشته شده را در نظر می ‌گیرند تا بتوانند آن را مورد تست کردن قرار بدهند. برنامه نویسان می توانند این قسمت که می تواند یک تابع و یا یک آبجکت باشد را ایزوله کنند تا بدون نیاز به dependency ها آنها را تست نمایند. حذف کردن dependency ها در انجام unit testing بسیار مهم و ضروری است چرا که این موضوع کمک می‌ کند تا آن بخش مورد نظر از تست کاملاً ایزوله بگردد. برنامه نویسان عموماً از فریم ورک های unit test به منظور توسعه دادن test case های خودکار و یا اصطلاحاً automated test case استفاده می کنند.

تست واحد و یا Unit Testing به چند روش انجام می پذیرد؟

تست واحد و یا unit testing به دو صورت دستی و خودکار انجام می‌ پذیرد. روش دستی اصطلاحاً manual و روش خودکار automated نیز می‌ گویند. در واقعیت unit test ها به صورت خودکار اجرا می شوند اما امکان اجرا کردن آنها به صورت دستی نیز وجود دارد. مهندیسین نرم افزار اغلب از یک روش یکسان و کنار گذاشتن روش دیگر به طور کامل استفاده نمی کنند اما روش خودکارسازی شده یعنی همان automated عموماً ترجیح داده می ‌شود. روش دستی اجرا کردن unit test ها اغلب نیازمند یک سند است که در آن دستورالعمل های اجرا کردن تست ها به صورت مرحله به مرحله ذکر شده باشد. در اجرا کردن unit test ها به صورت خودکار و یا automated یک برنامه نویس یک قسمت از کد را در نظر می ‌گیرد تا بتواند آن را تست کند. بعد از انجام تست، برنامه نویس می‌ تواند در زمان Deploy کردن یک اپلیکیشن تست ها را در حالت Comment قرار بدهد. انجام ایزولاسیون و یا isolation بر روی unit مورد نظر که قرار است تست شود نیز بسیار مهم است. همانطور که گفته شد این موضوع باعث می‌ شود تا dependency های غیر ضروری چه در کد نوشته شده لحاظ شده اند در نوشتن تست مورد استفاده قرار نگیرند. در اجرا کردن unit test ها اغلب از یک unit test framework به منظور ایجاد کردن تست ها استفاده می شود. در یک unit test framework برنامه نویس تست های مورد نظر خود را نوشته و از test framework به منظور اعتبارسنجی و یا راستی آزمایی رفتار کد مورد نظر استفاده می کند. در زمان اجرا شدن Test Case ها با استفاده از همان test framework تست هایی که دچار خطا می شوند ثبت می گردند علاوه بر این بسیاری از test framework ها اجازه می ‌دهند تا شما بتوانید به صورت خودکار گزارش هایی را نیز تعریف کنید که در آنها test case های شکست خورده و یا failed شده لحاظ می گردند براساس سطح شدت با شکست و یا failear فریم ورک ممکن است اجرای بقیه تست ها را متوقف کند.

سرفصل مطالب آموزش ویدیویی انجام Unit Testing در Web API های ASP.NET Core

فصل اول: مقدمه دوره آموزشی

  • مقدمه

فصل دوم: مروری بر Unit Testing

  • مقدمه
  • بررسی محتوای این دوره آموزشی
  • بررسی پیش نیاز های این دوره آموزشی
  • بررسی Framework ها و ابزارها
  • آموزش عملی: بررسی اپلیکیشن این دوره آموزشی
  • چیستی، چرایی و دیگر جزئیات مربوط به Unit Testing
  • مقایسه کردن Unit Test ها، Integration Test ها و Functional Test ها
  • آموزش عملی: اضافه کردن یک پروژه Unit Test
  • آموزش عملی: نوشتن اولین Unit Test
  • توصیه های مربوط به نامگذاری Unit Test ها
  • بررسی الگوی Arrange، Act و Assert
  • مقایسه کردن xUnit، NUnit و MSTest با یکدیگر
  • جمع بندی

فصل سوم: بررسی کردن سناریو های ابتدائی Unit Testing

  • مقدمه
  • یادگیری Assertion ها
  • آموزش عملی: بررسی Assert کردن بر روی Boolean ها
  • آموزش عملی: بررسی Assert کردن بر روی String ها
  • آموزش عملی: بررسی Assert کردن بر روی Numeric Value ها
  • آموزش عملی: بررسی Assert کردن بر روی Floating Point ها به صورت دقیق
  • آموزش عملی: معرفی کردن یک Repository پیاده سازی شده با استفاده از داده های Test
  • آموزش عملی: بررسی Assert کردن بر روی Array ها و محتوای مجموعه ها
  • آموزش عملی: بررسی Assert کردن Asynchronous Code
  • آموزش عملی: بررسی Assert کردن Exception ها
  • آموزش عملی: بررسی Assert کردن بر روی Event ها
  • آموزش عملی: بررسی Assert کردن بر روی Object Type ها
  • Assert کردن بر روی متدهای Private
  • جمع بندی

فصل چهارم: راه اندازی کردن Test ها و کنترل کردن روند اجرای یک Test

  • مقدمه
  • راه اندازی کردن Test ها و به اشتراک گذاری Test Context
  • آموزش عملی: اشتراک گذاشتن Context با استفاده از روش Constructor و Dispose
  • آموزش عملی: اشتراک گذاشتن Context با اصتفاده از روش Class Fixture
  • آموزش عملی: اشتراک گذاشتن Context با استفاده از روش Collection Fixture
  • یکپارچه کردن Test Context با سیستم Dependency Injection مربوط به ASP.NET Core
  • آموزش عملی: یکپارچه کردن Test Context با سیستم Dependency Injection مربوط به ASP.NET Core
  • آموزش عملی: دسته بندی کردن و اجرا کردن Test های زیرمجموعه
  • آموزش عملی: نادیده گرفتن Test ها
  • آموزش عملی: اضافه کردن خروجی Additional Test
  • جمع بندی

فصل پنجم: شروع کار با Data-driven Test ها

  • مقدمه
  • معرفی کردن Theory ها و Data-driven Test ها
  • آموزش عملی: Test کردن یک Theory با استفاده Inline Data
  • آموزش عملی: Test کردن یک Theory با استفاده Member Data
  • آموزش عملی: Test کردن یک Theory با استفاده Class Data
  • آموزش عملی: Test کردن یک Theory با استفاده Test Data مربوط به Strongly-typed
  • بدست آوردن داده ها از یک منبع خارجی
  • آموزش عملی: بدست آوردن داده ها از یک منبع خارجی
  • جمع بندی

فصل ششم: ایزوله کردن Unit Test ها با تکنیک های ASP.NET Core و Mocking

  • مقدمه
  • بررسی روش های Test Isolation
  • بررسی Unit Testing با استفاده از Entity Framework Core
  • آموزش عملی: استفاده از SQLite در حالت درون حافظه ای انجام Unit Testing
  • بررسی Unit Testing با استفاده از HttpClient
  • آموزش عملی: بررسی Unit Testing با استفاده از HttpClient
  • ایزوله کردن Moq
  • آموزش عملی: ایجاد کردن و بکار بردن یک Mock Object
  • آموزش عملی: پیکربندی کردن مقادیر بازگشتی Mock Object
  • آموزش عملی: Mock کردن یک Interface
  • آموزش عملی: Mock کردن کد Async
  • روش Test Isolation کدام است؟
  • جمع بندی

فصل هفتم: بررسی Unit Testing مربوط به کنترل کننده های ASP.NET Core

  • مقدمه
  • معرفی پوشش کد (Code Coverage) و تصمیم گیری در رابطه با اینکه چه چیزی را Unit Test کنیم
  • مروری بر Testing مربوط به MVC Controller ها
  • آموزش عملی: بررسی ViewResult در زمان Test
  • آموزش عملی: بررسی انواع ViewModel در زمان Test
  • آموزش عملی: بررسی ViewModel Content در زمان Test
  • آموزش عملی: ترکیب کردن Assert های مربوط به اکشن های Controler ها در یک Unit Test واحد و Test کردن کدهای Mapping
  • آموزش عملی: کار کردن با وابستگی های AutoMapper
  • آموزش عملی: Test کردن Validation و ModelState
  • Test کردن با استفاده از HttpContext
  • آموزش عملی: Test کردن با استفاده از HttpContext و داده های زائد
  • آموزش عملی: Test کردن با استفاده از HttpContext.Session
  • آموزش عملی: Test کردن با استفاده از HttpContext.Feature ها
  • آموزش عملی: Test کردن با استفاده از فراخوانی های HttpClient
  • جمع بندی

فصل هشتم: Unit Test کردن Middleware ها، Filter ها و Service Registration های ASP.NET Core

  • مقدمه
  • Unit Test کردن Middleware
  • آموزش عملی: Unit Test کردن Middleware
  • Unit Test کردن Filter های ASP.NET Core
  • آموزش عملی: Unit Test کردن Filter های ASP.NET Core
  • Unit Test کردن Service Registration ها
  • آموزش عملی: Unit Test کردن Service Registration ها
  • جمع بندی

فصل نهم:یکپارچه کردن Unit Test ها در جریان های Development و Relese ها

  • مقدمه
  • آموزش عملی: اجرا کردن Test ها با استفاده از CLI
  • مقایسه Test Runner ها و Test Framework ها
  • اجرا کردن Test ها به صورت موازی
  • آموزش عملی: موازی سازی در Test Framework ها
  • اجرا کردن Test ها بر روی چندین Target Framework
  • آموزش عملی: اجرا کردن Test ها بر روی چندین Target Framework
  • یکپارچه کردن Unit Test ها در Pipeline های CI/CD
  • آموزش عملی: یکپارچه کردن Unit Test ها در Pipeline های CI/CD
  • جمع بندی

نقد و بررسی‌ها

هیچ دیدگاهی برای این محصول نوشته نشده است.

اولین کسی باشید که دیدگاهی می نویسد “آموزش انجام Unit Testing در Web API های ASP.NET Core”

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

دسته های محصولات

افزودن به سبد خرید