آموزش تست واحد جاوا اسکریپت - راهنمای عملی

JavaScript Unit Testing - The Practical Guide

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
توضیحات دوره: نحوه نوشتن تست های خودکار (تست های واحد و یکپارچه سازی) برای پروژه های جاوا اسکریپت خود را با Vitest & Jest بیاموزید. نوشتن و ساختار واحد و تست‌های ادغام حذف عوارض جانبی از آزمایش‌ها از طریق تمسخر و جاسوسی کار با راه‌اندازها و کتابخانه‌های محبوب تست جاوا اسکریپت نوشتن تست‌های خوب و تمرکز بر تست منطق اصلی کسب‌وکار

آزمایش خودکار یک مفهوم کلیدی در توسعه مدرن (وب) است.

اما این مفهومی است که در ابتدا می‌تواند ترسناک باشد، بنابراین بسیاری از توسعه‌دهندگان از آزمایش کردن و اضافه کردن آزمایش‌ها به پروژه‌های خود اجتناب می‌کنند.

این دوره از پایه به شما تست یکپارچه سازی واحد خودکار با جاوا اسکریپت را آموزش می دهد. شما یاد خواهید گرفت که چگونه تست ها نوشته می شوند و به پروژه های شما اضافه می شوند، چه چیزهایی باید (و نباید) آزمایش شوند و چگونه می توانید کدهای ساده و پیچیده تر را آزمایش کنید.

در مورد نرم افزار و تنظیمات مورد نیاز برای نوشتن تست های خودکار و نمونه پروژه ها به عنوان بخشی از دوره ارائه می شود، آشنا خواهید شد. این یک دوره عملی و عملی است، بنابراین شما در تئوری گیر نخواهید کرد - در عوض می توانید تمام مفاهیم کلیدی را با مثال های واقعی یاد بگیرید.

در این دوره، Vitest به عنوان ابزار اصلی کتابخانه آزمایشی استفاده خواهد شد. این یک راه‌انداز آزمایشی و کتابخانه ادعایی مدرن جاوا اسکریپت است که سازگاری Jest را فراهم می‌کند. از این رو آنچه در این دوره یاد خواهید گرفت به شما کمک خواهد کرد بدون توجه به اینکه با Vitest یا Jest کار می کنید. و مفاهیم اصلی، مهم نیست که از کدام تنظیمات آزمایشی استفاده می‌کنید، اعمال خواهند شد!

به عنوان بخشی از این دوره، مسائل تست معمولی تعریف و حل می‌شوند و استراتژی‌های رایج مانند تمسخر یا کار با جاسوسان با جزئیات بسیار آموزش داده می‌شوند. این دوره همچنین بر روی انواع خاصی از پروژه های جاوا اسکریپت تمرکز نمی کند - همچنین بر روی کتابخانه یا چارچوب خاصی تمرکز نمی کند.

در عوض، یاد خواهید گرفت که چگونه به طور خودکار کد جاوا اسکریپت (وانیلی) خود را بدون توجه به اینکه یک پروژه NodeJS یا frontend باشد، آزمایش کنید. اصولی که در این دوره به دست می آورید به شما در تمام پروژه های آینده شما کمک می کند - Backend (NodeJS) و Frontend (vanilla JS، React، Vue، Angular) به طور یکسان.

این دوره پایه بسیار محکمی را در اختیار شما قرار می دهد تا بتوانید روی آن بسازید، به طوری که می توانید شروع به اضافه کردن تست به تمام پروژه های جاوا اسکریپت خود کنید.

در جزئیات، این دوره به شما آموزش می دهد:

  • "تست" یا "آزمایش خودکار" دقیقاً چیست (و چرا به آن نیاز دارید)

  • "تست واحد" به طور خاص چیست

  • برای فعال کردن تست‌های واحد خودکار در پروژه‌های خود به چه ابزارهایی نیاز دارید

  • نحوه نوشتن تست های واحد

  • نحوه شروع آزمایشات ادغام

  • نحوه فرمول بندی انتظارات مختلف (ادعاها)

  • از کدام الگوها هنگام نوشتن تست پیروی کنید

  • نحوه تست کد ناهمزمان و همزمان

  • نحوه مقابله با عوارض جانبی با کمک تمسخر جاسوسی

  • نحوه اعمال تمامی این مفاهیم در نمونه پروژه های واقعی


سرفصل ها و درس ها

شروع شدن Getting Started

  • به این دوره خوش آمدید! Welcome To This Course!

  • تست چیست؟ What Is Testing?

  • تست واحد: چی و چرا؟ Unit Testing: What & Why?

  • واحد در مقابل یکپارچه سازی در مقابل تست های E2E Unit vs Integration vs E2E Tests

  • نکته ای سریع درباره توسعه آزمایش محور (TDD) A Quick Note About Test-Driven Development (TDD)

  • درباره این دوره About This Course

  • به انجمن آموزشی ما بپیوندید Join Our Learning Community

  • منابع دوره و عکس های فوری پروژه Course Resources & Project Snapshots

نرم افزار راه اندازی و تست Setup & Testing Software

  • معرفی ماژول Module Introduction

  • کدام ابزار برای تست مورد نیاز است؟ Which Tools Are Needed For Testing?

  • Jest & Vitest Jest & Vitest

  • نصب Vitest Installing Vitest

  • راه اندازی پروژه دوره Course Project Setup

مبانی تست زنی Testing Basics

  • معرفی ماژول Module Introduction

  • فایل تست اولیه و راه اندازی پروژه Basic Test File & Project Setup

  • نوشتن اولین تست Writing a First Test

  • در حال اجرا تست ها Running Tests

  • چرا ما تست می کنیم؟ Why Are We Testing?

  • الگوی AAA - ترتیب، عمل، ادعا The AAA Pattern - Arrange, Act, Assert

  • تست های خود را ساده نگه دارید! Keep Your Tests Simple!

  • تعریف رفتارها و رفع خطاها در کد شما Defining Behaviors & Fixing Errors In Your Code

  • نسخه ی نمایشی: نوشتن تست های بیشتر Demo: Writing More Tests

  • تست برای خطاها Testing For Errors

  • نسخه ی نمایشی: افزودن تست های بیشتر Demo: Adding More Tests

  • تست خطاهای پرتاب شده و پیام های خطا Testing For Thrown Errors & Error Messages

  • تمرین: مشکل Exercise: Problem

  • تمرین: راه حل Exercise: Solution

  • تست هایی با ادعاهای متعدد (انتظارات چندگانه) Tests With Multiple Assertions (Multiple Expectations)

  • تمرین بیشتر! More Practice!

  • معرفی مجموعه های تست Introducing Test Suites

  • افزودن تست به پروژه های Frontend و Backend Adding Tests To Frontend & Backend Projects

  • خلاصه ماژول Module Summary

نوشتن تست های خوب Writing Good Tests

  • معرفی ماژول Module Introduction

  • چه چیزی را تست کنیم و چه چیزی را تست نکنیم What To Test & Not To Test

  • نوشتن تست های خوب - مروری و خلاصه Writing Good Tests - An Overview & Summary

  • فقط تست "یک چیز" Only Test "One Thing"

  • تقسیم توابع برای تست آسانتر و کد بهتر Splitting Functions For Easier Testing & Better Code

  • کد بازسازی Refactoring Code

  • تدوین انتظارات مختلف Formulating Different Expectations

  • کلمه ای در مورد پوشش کد A Word About Code Coverage

  • خلاصه ماژول Module Summary

تست های یکپارچه سازی Integration Tests

  • معرفی ماژول Module Introduction

  • معرفی تست های یکپارچه سازی Introducing Integration Tests

  • نوشتن آزمون ادغام و استدلال Writing an Integration Test & Reasoning

  • تست برای خطاها Testing For Errors

  • تست برای خطاها Testing For Errors

  • ادغام در مقابل آزمون های واحد: یافتن تعادل مناسب Integration vs Unit Tests: Finding the Right Balance

مفاهیم تست پیشرفته Advanced Testing Concepts

  • معرفی ماژول Module Introduction

  • toBe() در مقابل toEqual() toBe() vs toEqual()

  • مشکل کدهای ناهمزمان The Problem With Asynchronous Code

  • تست کد ناهمزمان با پاسخ به تماس Testing Asynchronous Code With Callbacks

  • تست کد ناهمزمان با وعده‌ها و همگام‌سازی/در انتظار Testing Asynchronous Code With Promises & async / await

  • وعده های برگشتی در آزمون ها Returning Promises In Tests

  • شروع کار با "Testing Hooks" Getting Started with "Testing Hooks"

  • چرا هوکس؟ Why Hooks?

  • استفاده از قلاب های تست (قبل از هر یک، قبل از همه، بعد از هر، بعد از همه) Using Testing Hooks (beforeEach, beforeAll, afterEach, afterAll)

  • تست های همزمان Concurrent Tests

  • همزمانی و رفتار پیش فرض Concurrency & Default Behavior

  • خلاصه ماژول Module Summary

تمسخر و جاسوس: مقابله با عوارض جانبی Mocking & Spies: Dealing with Side Effects

  • معرفی ماژول Module Introduction

  • پروژه شروع The Starting Project

  • مشکل عوارض جانبی و آزمایشات The Problem With Side Effects & Tests

  • معرفی Spies & Mocks Introducing Spies & Mocks

  • کار با جاسوس ها Working with Spies

  • شروع کار با Mocks & Automocking Getting Started with Mocks & Automocking

  • نکته در مورد تمسخر Note on Mocking

  • یادداشت هایی در مورد جاسوس ها Notes on Spies

  • منطق تمسخر سفارشی Custom Mocking Logic

  • مدیریت پیاده‌سازی‌های ساختگی سفارشی در سطح جهانی (پوشه __mocks__) Managing Custom Mock Implementations Globally (__mocks__ Folder)

  • عملکردهای تمسخر آمیز بیشتر More Mocking Functionalities

  • خلاصه ماژول Module Summary

بیشتر در مورد مسخره کردن و غواصی عمیق تر More on Mocking & Diving Deeper

  • معرفی ماژول Module Introduction

  • پروژه شروع The Starting Project

  • پروژه شروع The Starting Project

  • تازه‌سازی: تمرین تست‌های پایه (1) Refresher: Practicing Basic Tests (1)

  • تازه‌سازی: تمرین تست‌های پایه (2) Refresher: Practicing Basic Tests (2)

  • دلایل تمسخر Reasons to Mock

  • تمسخر ارزش ها و کارکردهای جهانی Mocking Global Values & Functions

  • مسخره کردن کتابخانه های فرانت اند Mocking Frontend Libraries

  • منطق تمسخر آمیز ویژه آزمون Test-specific Mocking Logic

  • تمسخر در مکان های منتخب Mocking In Selected Places

  • استفاده از مقادیر ساختگی محلی Using Local Mock Values

  • خلاصه ماژول Module Summary

تست و DOM (تست جاوا اسکریپت جلویی) Testing & The DOM (Frontend JavaScript Testing)

  • معرفی ماژول Module Introduction

  • معرفی ماژول Module Introduction

  • درک مسئله Understanding the Problem

  • کار با محیط های مختلف تست Working with Different Testing Environments

  • راه اندازی یک صفحه HTML مجازی Setting up a Virtual HTML Page

  • تست عملکردهای DOM Testing DOM Functionalities

  • آزمایشات DOM و کار پاکسازی DOM Tests & Cleanup Work

  • نمونه پایانی Finishing Example

  • نگاهی کوتاه به بسته "کتابخانه آزمایشی". A Brief Look at the "Testing Library" Package

  • خلاصه ماژول Module Summary

  • خلاصه ماژول Module Summary

خلاصه دوره Course Roundup

  • خلاصه دوره Course Roundup

  • سخنرانی پاداش Bonus Lecture

نمایش نظرات

نظری ارسال نشده است.

آموزش تست واحد جاوا اسکریپت - راهنمای عملی
خرید اشتراک و دانلود خرید تکی و دانلود | 160,000 تومان (5 روز مهلت دانلود) زمان تقریبی آماده سازی لینک دانلود این دوره آموزشی حدود 5 تا 24 ساعت می باشد.
جزییات دوره
5.5 hours
92
Udemy (یودمی) udemy-small
27 آبان 1401 (آخرین آپدیت رو دریافت می‌کنید، حتی اگر این تاریخ بروز نباشد.)
15,483
4.7 از 5
ندارد
دارد
دارد

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Academind by Maximilian Schwarzmüller Academind by Maximilian Schwarzmüller

آموزش آنلاین

Maximilian Schwarzmüller Maximilian Schwarzmüller

دارای گواهینامه AWS، توسعه دهنده وب و مدرس حرفه ای

Udemy (یودمی)

یودمی یکی از بزرگ‌ترین پلتفرم‌های آموزشی آنلاین است که به میلیون‌ها کاربر در سراسر جهان امکان دسترسی به دوره‌های متنوع و کاربردی را فراهم می‌کند. این پلتفرم امکان آموزش در زمینه‌های مختلف از فناوری اطلاعات و برنامه‌نویسی گرفته تا زبان‌های خارجی، مدیریت، و هنر را به کاربران ارائه می‌دهد. با استفاده از یودمی، کاربران می‌توانند به صورت انعطاف‌پذیر و بهینه، مهارت‌های جدیدی را یاد بگیرند و خود را برای بازار کار آماده کنند.

یکی از ویژگی‌های برجسته یودمی، کیفیت بالای دوره‌ها و حضور استادان مجرب و با تجربه در هر حوزه است. این امر به کاربران اعتماد می‌دهد که در حال دریافت آموزش از منابع قابل اعتماد و معتبر هستند و می‌توانند به بهترین شکل ممکن از آموزش‌ها بهره ببرند. به طور خلاصه، یودمی به عنوان یکی از معتبرترین و موثرترین پلتفرم‌های آموزشی آنلاین، به افراد امکان می‌دهد تا به راحتی و با کیفیت، مهارت‌های مورد نیاز خود را ارتقا دهند و به دنبال رشد و پیشرفت شغلی خود باشند.