آموزش تست واحد برای توسعه دهندگان Typescript و NodeJs با Jest

Unit Testing for Typescript & NodeJs Developers with Jest

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: تست واحد اصلی با NodeJs، Typescript، Jest و React. نوشتن نرم‌افزار Typescript و NodeJs با کیفیت بالا با Jest Basics تست واحد TypeScript با تست‌های Jest Integration با TypeScript Test Driven Development (TDD) با تست Jest Unit تست‌های TypeScript و Jest Write واکنش نشان دهید برای مدیریت خطا Jest - اصول اولیه: قلاب‌ها، ادعاها، تطبیق‌ها Jest - قسمت های پیشرفته: نام مستعار، تطبیق های سفارشی، عکس های فوری تکنیک های پیشرفته تست واحد با استفاده از خط لوله Jest CI/CD با استفاده از Github Actions پیش نیازها: دانش پایه تایپ اسکریپت دانش پایه NodeJs دانش اولیه React (برای قسمت React)

*** 1.03.2023 - بازسازی کامل دوره با جدیدترین ویژگی های Jest و TypeScript***

مهارتی که برای توسعه دهندگان ارشد باید داشته باشد

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

اما بله، مهارت دیگری برای هر شغل برنامه نویسی بسیار مهم است: تست واحد. ترکیب این دو تکنیک منجر به ایجاد کد محکم، قوی و بدون اشکال می شود.

این دوره فراتر از اصول اولیه تست واحد است و تمام آنچه را که برای نوشتن دنیای واقعی، مجموعه‌های آزمایش پیچیده برای NodeJs و برنامه‌های Typescript با استفاده از محبوب‌ترین کتابخانه تست جاوا اسکریپت نیاز دارید، به شما آموزش می‌دهد: Jest.

استفاده از Jest به‌عنوان یک کتابخانه آزمایش واحد، مزایای بسیاری دارد:

  • کتابخانه آزمایش واحد واحد برای اجرای آزمایش‌ها و ساختاربندی

  • قابلیت‌های گسترده تمسخر، سرکوب و جاسوسی

  • تطبیق‌های قدرتمند برای ایجاد تست‌های ساده برای خواندن

  • Jest به عنوان یک بسته NPM واحد ارسال می شود

  • Jest انتخاب پیش‌فرض برای پروژه‌های TypeScript React است

چرا واحد برنامه های NodeJs را آزمایش می کند؟

آزمایش واحد معمولاً مقدار زیادی را به یک پایه کد اضافه می کند، در برخی موارد دو یا بار درختی. این همچنین به این معنی است که زمان زیادی برای نوشتن و تنظیم تست ها باید صرف شود. اما تمام این تلاش‌ها هزینه دارد: زمان، تلاش و سردرد رفع اشکالات می‌تواند برای فعالیت‌های سرگرم‌کننده‌تر استفاده شود.

آنچه از این دوره دریافت خواهید کرد:

  • پروژه های NodeJ و Typescript را از ابتدا تنظیم کنید

  • تست واحد را با Jest

    اجرا کنید
  • درباره پیکربندی تست واحد با پارامترهایی مانند: roots، transform، testRegex یا verbose بیاموزید

  • درباره ساختار مجموعه‌های تست Jest بیاموزید: با مقدار، تست، توضیحات، قلاب‌هایی مانند قبل هریک توصیف کنید

  • ادعاهای اساسی و پیشرفته، مقایسه انواع اولیه، اشیاء یا حتی خطاها

  • آزمایش نمونه اشیاء مضاعف مانند تمسخر، خرد، جاسوس یا جعلی.

  • اشیاء ساختگی پیچیده را بنویسید که می توانند با کتابخانه های جاوا اسکریپت "عجیب" استفاده شوند.

  • inject doubles: مستقیماً در داخل سازنده، روی ماژول یا حتی با استفاده از نمونه اولیه اشیاء

  • برای بهتر کردن تست‌های خود، درباره تملک‌ها و تطبیق‌های عمیق بیاموزید

  • تست های یکپارچه سازی برای یک برنامه سرور NodeJs

  • به‌صورت مشروط و ناهمزمان از آزمایش‌ها صرفنظر کنید

بخش‌های اختصاصی در مورد مدل‌های آزمایش واحد:

  • مسخره، جاسوس

  • نحوه استفاده از خرد

  • رویکرد آزمایش لندن/شیکاگو، با مزایا و معایب هر کدام

در این دوره آموزشی نحوه استفاده از توسعه تست محور (TDD) را خواهید آموخت:

  • مزایای TDD

    را تجزیه و تحلیل کنید
  • تمرین عملی با یک کاتای کدنویسی عالی: جستجوگر رمز عبور

بخش مجزا در مورد تست‌های Jest Integration برای Rest API:

  • نحوه راه اندازی تست های ادغام را بیاموزید

  • تفاوت بین تست های یکپارچه سازی و تست های واحد را بیاموزید

  • تست‌های یکپارچه‌سازی را برای Rest API با Jest بنویسید

بخش اختصاصی تست واحد Jest React:

  • نحوه تست اجزای React با Jest

  • نحوه تست React async code

  • نحوه اشکال زدایی برنامه های React Typescript

نمونه‌های استفاده شده در دوره از دستورالعمل‌های کدنویسی بسیار بالایی برای Typescript، NodeJs و React پیروی می‌کنند. دستور Async/wait برای کد واضح و مختصر استفاده می‌شود، و البته، نحوه آزمایش کد ناهمزمان را در سرور و همچنین در قسمت جلویی مشاهده خواهید کرد.

مزایای دوره:

  • احترام به وقت شما: بیشتر اوقات تایپ مربی قطع می شود، دوره بر روی تست های واحد و توضیحات Jest متمرکز است

  • مختصر: فقط آنچه را که نیاز دارید بیاموزید، بدون پرکننده‌ای که دوره را به اشتباه جذاب‌تر کند

  • مربی فعال با تجربه و برنامه نویسی: یک معلم بزرگ هرگز ارتباط خود را با صنعت قطع نمی کند. این به ویژه برای توسعه نرم افزار، جایی که صنعت بسیار پویا است، صادق است. این به مربی کمک می کند تا با بهترین دستورالعمل های کدنویسی به روز بماند و بخش های چالش برانگیز را به شما ارائه دهد، نه "سلام جهان"

  • ساختار دوره سازماندهی شده: شش بخش، رویکرد پیشرو، محتوای ثابت

  • تغییر کد در هر سخنرانی در Git با تفاوت‌های کد: این به شما کمک می‌کند یک نمای کلی مختصر از سخنرانی داشته باشید و در صورتی که چیزی را از دست دادید اصلاح کنید

  • فونت بزرگ، پس‌زمینه تیره، محتوای فول اچ‌دی، به این ترتیب حتی روی صفحه‌نمایش کوچک یا حتی تبلت قابل خواندن است.

  • دسترسی مادام العمر

  • گواهی پایان کار برای ارائه به کارفرمای فعلی یا آینده شما

آیا می خواهید کد Typescript یا NodeJs شما بهترین کیفیت را داشته باشد و پروژه شما ایمن باشد؟

ثبت نام کنید و بعد از 10 دقیقه شروع به نوشتن تست کنید!




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

شروع شدن Getting started

  • نحوه گذراندن این دوره How to take this course

  • ابزارهایی که به آنها نیاز خواهیم داشت Tools we will need

  • ابزارهایی که به آنها نیاز خواهیم داشت Tools we will need

  • چرا به آزمایش نیاز داریم Why we need tests

شروع شدن Getting started

  • نحوه گذراندن این دوره How to take this course

  • چرا به آزمایش نیاز داریم Why we need tests

اصول تست با Jest Basics of testing with Jest

  • معرفی بخش Section intro

  • مقدمه شوخی Jest introduction

  • راه اندازی پروژه جست Jest project setup

  • راه اندازی پروژه جست Jest project setup

  • ساختار یک آزمون واحد Structure of an unit test

  • ادعاهای شوخی و تطبیق Jest assertions and matchers

  • ساختار تست های متعدد Multiple tests structure

  • ساختار تست های متعدد Multiple tests structure

  • تست های پارامتریزه Parametrized tests

  • مسابقه مبانی جست Jest basics quiz

اصول تست با Jest Basics of testing with Jest

  • معرفی بخش Section intro

  • مقدمه شوخی Jest introduction

  • ساختار یک آزمون واحد Structure of an unit test

  • ادعاهای شوخی و تطبیق Jest assertions and matchers

  • تست های پارامتریزه Parametrized tests

  • مسابقه مبانی جست Jest basics quiz

مباحث آزمون متوسط Intermediate testing topics

  • معرفی بخش Section intro

  • اولین. اصول F.I.R.S.T. principles

  • شوخی قلاب Jest hooks

  • شوخی قلاب Jest hooks

  • تست برای خطاها Testing for errors

  • نام مستعار شوخی و حالت تماشا Jest aliases and watch mode

  • پیکربندی اشکال زدایی VSCode VSCode debug configuration

  • پوشش Coverage

  • مسابقه موضوعات متوسط Jest intermediate topics quizz

  • مسابقه موضوعات متوسط Jest intermediate topics quizz

مباحث آزمون متوسط Intermediate testing topics

  • معرفی بخش Section intro

  • اولین. اصول F.I.R.S.T. principles

  • تست برای خطاها Testing for errors

  • نام مستعار شوخی و حالت تماشا Jest aliases and watch mode

  • پیکربندی اشکال زدایی VSCode VSCode debug configuration

  • پوشش Coverage

توسعه تست محور با Jest و TypeScript Test Driven Development with Jest and TypeScript

  • معرفی بخش Section intro

  • مقدمه توسعه تست محور Test Driven Development intro

  • کدنویسی Katas - جستجوگر رمز عبور Coding Katas - password checker

  • کدنویسی Katas - جستجوگر رمز عبور Coding Katas - password checker

  • راه اندازی PassChecker PassChecker setup

  • راه اندازی PassChecker PassChecker setup

  • PassChecker Iteration 1 PassChecker Iteration 1

  • PassChecker Iteration 2 PassChecker Iteration 2

  • PassChecker Iteration 2 PassChecker Iteration 2

  • PassChecker Iteration 3 PassChecker Iteration 3

  • PassChecker Iteration 3 PassChecker Iteration 3

  • تمرین کدنویسی بازی Game coding exercise

  • تمرین کدنویسی بازی Game coding exercise

توسعه تست محور با Jest و TypeScript Test Driven Development with Jest and TypeScript

  • معرفی بخش Section intro

  • مقدمه توسعه تست محور Test Driven Development intro

  • PassChecker Iteration 1 PassChecker Iteration 1

تست دو برابر در Jest Test doubles in Jest

  • معرفی بخش Section intro

  • تست دوبل چیست What are test doubles

  • تست دوبل چیست What are test doubles

  • خرد Stubs

  • تقلبی Fakes

  • تقلبی Fakes

  • مسخره می کند Mocks

  • جاسوس ها Spies

  • ماژول های تمسخر آمیز Mocking modules

  • ماژول های تمسخر آمیز Mocking modules

تست دو برابر در Jest Test doubles in Jest

  • معرفی بخش Section intro

  • خرد Stubs

  • مسخره می کند Mocks

  • جاسوس ها Spies

تست دو برابر در عمل Test doubles in practice

  • معرفی بخش Section intro

  • ارائه پروژه Project presentation

  • ارائه پروژه Project presentation

  • نصب پروژه Project installation

  • تست آرایه ها Testing arrays

  • تست آرایه ها Testing arrays

  • مسخره کردن کلاس های مصرف کننده Mocking consumer classes

  • مسخره کردن کلاس های مصرف کننده Mocking consumer classes

  • تمسخر تزریقی Injecting mocks

  • تمسخر تزریقی Injecting mocks

  • توضیح تست ها Explaining tests

  • برنامه مبتنی بر رویداد - آزمایشات Event based app - tests

  • برنامه مبتنی بر رویداد - آزمایشات Event based app - tests

  • تست های سرور 1 - راه اندازی Server tests 1 - setup

  • تست های سرور 1 - راه اندازی Server tests 1 - setup

  • تست های سرور 2 - اشکال زدایی پیشرفته Server tests 2 - advanced debugging

  • تست سرور 3 - نمونه اولیه جاسوسان Server tests 3 - prototype spies

  • اتمام تست ها Finishing the tests

  • نتیجه گیری آزمون های آزمایشی بالا High mock tests conclusion

تست دو برابر در عمل Test doubles in practice

  • نصب پروژه Project installation

  • توضیح تست ها Explaining tests

  • تست های سرور 2 - اشکال زدایی پیشرفته Server tests 2 - advanced debugging

  • تست سرور 3 - نمونه اولیه جاسوسان Server tests 3 - prototype spies

  • اتمام تست ها Finishing the tests

  • نتیجه گیری آزمون های آزمایشی بالا High mock tests conclusion

تست های ساختگی کم Low mocks tests

  • معرفی بخش Section intro

  • لفاف های آزمایشی ساختمان Building testing wrappers

  • تست های راه اندازی Setup tests

  • تست های پایانی Finishing tests

  • نتیجه گیری تست های آزمایشی کم Low mock tests conclusion

  • نتیجه گیری تست های آزمایشی کم Low mock tests conclusion

تست های ساختگی کم Low mocks tests

  • معرفی بخش Section intro

  • لفاف های آزمایشی ساختمان Building testing wrappers

  • تست های راه اندازی Setup tests

  • تست های پایانی Finishing tests

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

  • معرفی بخش Section intro

  • درک تست های یکپارچه سازی Understanding integration tests

  • راه اندازی تست های یکپارچه سازی Integration tests setup

  • راه اندازی تست های یکپارچه سازی Integration tests setup

  • نوشتن تست های یکپارچه سازی Writing integration tests

  • نوشتن تست های یکپارچه سازی Writing integration tests

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

  • معرفی بخش Section intro

  • درک تست های یکپارچه سازی Understanding integration tests

سایر مباحث تست Other testing topics

  • معرفی بخش Section intro

  • متغیرهای محیطی Environment variables

  • متغیرهای محیطی Environment variables

  • تنظیمات تست چندگانه Multiple test configurations

  • تست عکس فوری Snapshot testing

  • تطبیق های سفارشی Custom matchers

  • خط لوله CI/CD با استفاده از Github Actions CI/CD pipeline using Github Actions

  • خط لوله CI/CD با استفاده از Github Actions CI/CD pipeline using Github Actions

  • کاوش در ماژول تست Runer NodeJs Exploring the NodeJs test runner module

  • کاوش در ماژول تست Runer NodeJs Exploring the NodeJs test runner module

  • مقایسه چارچوب های آزمایشی Testing frameworks comparison

  • مقایسه چارچوب های آزمایشی Testing frameworks comparison

سایر مباحث تست Other testing topics

  • معرفی بخش Section intro

  • تنظیمات تست چندگانه Multiple test configurations

  • تست عکس فوری Snapshot testing

  • تطبیق های سفارشی Custom matchers

تست واحد واکنش با جست React unit testing with Jest

  • معرفی بخش Section intro

  • معرفی بخش Section intro

  • راه اندازی برنامه React Typescript ساده Simple React Typescript app setup

  • ژنریک، حالت، لوازم Generics, state, props

  • چیزی که ما آزمایش خواهیم کرد What we will test

  • اولین آزمایش - رندر کردن اجزای React TypeScript First tests - rendering React TypeScript components

  • اولین آزمایش - رندر کردن اجزای React TypeScript First tests - rendering React TypeScript components

  • کتابخانه تست واکنش: پرس و جو برای عناصر React testing library: query for elements

  • تست تعامل کاربر Testing user interaction

  • تست تعامل کاربر Testing user interaction

  • آزمایش به‌روزرسانی‌های همگام Testing async updates

تست واحد واکنش با جست React unit testing with Jest

  • معرفی بخش Section intro

  • راه اندازی برنامه React Typescript ساده Simple React Typescript app setup

  • ژنریک، حالت، لوازم Generics, state, props

  • چیزی که ما آزمایش خواهیم کرد What we will test

  • کتابخانه تست واکنش: پرس و جو برای عناصر React testing library: query for elements

  • آزمایش به‌روزرسانی‌های همگام Testing async updates

خلاصه تایپ اسکریپت TypeScript recap

  • ارائه TypeScript TypeScript presentation

  • اجرای کد TS Running TS code

  • انواع در Typescript Types in Typescript

  • انواع تعریف شده توسط کاربر User defined types

  • خواص اختیاری Optional properties

  • خواص اختیاری Optional properties

  • محافظ تایپ کنید Type guards

  • محافظ تایپ کنید Type guards

  • گزینه های کامپایلر Compiler options

  • گزینه های کامپایلر Compiler options

  • کلاس ها Classes

  • اصلاح کننده های دسترسی Access modifiers

  • اصلاح کننده های دسترسی Access modifiers

  • وراثت Inheritance

  • وراثت Inheritance

  • رابط ها Interfaces

  • رابط ها Interfaces

  • ژنریک ها Generics

  • وعده ها Promises

  • وعده ها Promises

  • ماژول ها Modules

  • حالت سختگیرانه Strict mode

  • تعریف نشده، تهی، هرگز، ناشناخته Undefined, null, never, unknown

  • عبارات Enums و Swith Enums and Swith statements

  • عبارات Enums و Swith Enums and Swith statements

  • اجرا بر روی NodeJs Runnnig on NodeJs

  • اشکال زدایی گره TypeScript Debugging node TypeScript

  • اشکال زدایی گره TypeScript Debugging node TypeScript

  • در مرورگر اجرا شود Run in browser

  • TypeScript با Webpack TypeScript with Webpack

  • معرفی دکوراتورها Decorators introduction

  • معرفی دکوراتورها Decorators introduction

  • دکوراتورهای روش Method decorators

  • دکوراتورهای روش Method decorators

  • Outro Outro

  • Outro Outro

خلاصه تایپ اسکریپت TypeScript recap

  • ارائه TypeScript TypeScript presentation

  • اجرای کد TS Running TS code

  • انواع در Typescript Types in Typescript

  • انواع تعریف شده توسط کاربر User defined types

  • کلاس ها Classes

  • ژنریک ها Generics

  • ماژول ها Modules

  • حالت سختگیرانه Strict mode

  • تعریف نشده، تهی، هرگز، ناشناخته Undefined, null, never, unknown

  • اجرا بر روی NodeJs Runnnig on NodeJs

  • در مرورگر اجرا شود Run in browser

  • TypeScript با Webpack TypeScript with Webpack

نتیجه گیری دوره Course conclussions

  • انتخاب یک پروژه کاری Choosing a work project

  • پایان سخنرانی Ending lecture

نتیجه گیری دوره Course conclussions

  • انتخاب یک پروژه کاری Choosing a work project

  • پایان سخنرانی Ending lecture

نمایش نظرات

Udemy (یودمی)

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

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

آموزش تست واحد برای توسعه دهندگان Typescript و NodeJs با Jest
جزییات دوره
11 hours
95
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
6,653
4.5 از 5
دارد
دارد
دارد
Alex Horea
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Alex Horea Alex Horea

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