🔔 با توجه به بهبود نسبی اینترنت، آمادهسازی دورهها آغاز شده است. به دلیل تداوم برخی اختلالات، بارگذاری دورهها ممکن است با کمی تأخیر انجام شود. مدت اشتراکهای تهیهشده محفوظ است.
لطفا جهت اطلاع از آخرین دوره ها و اخبار سایت در
کانال تلگرام
عضو شوید.
آموزش توسعه مبتنی بر تست ساده با TypeScript و Vitest
- آخرین آپدیت
دانلود Easy Test Driven Development with TypeScript and Vitest
نکته:
ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره:
چگونه مشکلات دنیای واقعی را ابتدا با تست، TDD، وایتست (Vitest) و تایپاسکریپت (TypeScript) حل کنیم؟ سرعت توسعه خود را افزایش دهید!
از یک تازهکار (Noob) به یک متخصص (Pro) با توسعه تستمحور (Test Driven Development) کاربردی و واقعی تبدیل شوید.
روشی سریع و موثر برای پیادهسازی اتوماسیون تست در کدنویسی خود بیاموزید.
درک کنید چگونه وایتست (Vitest) به ما امکان ساخت تستهای واحد (Unit Tests) برای منطق کسبوکار (Business Logic) و کدهای رابط کاربری (UI) را میدهد.
بیاموزید چگونه تستهایی بنویسید که ارزش واقعی به فرآیند توسعه شما اضافه کنند.
مشاهده کنید که TDD در دنیای واقعی و عملی چگونه انجام میشود.
پیشنیازها:
درک پایه از تایپاسکریپت (TypeScript) یا درک متوسط از جاوااسکریپت (JavaScript) مورد نیاز است.
مسیر خود را از یک تازهکار (Noob) به یک متخصص (Pro) در توسعه تستمحور (Test Driven Development) واقعی سرعت ببخشید. با این دوره، تمام مزایای TDD را برای افزایش سرعت و امنیت فرآیند توسعه نرمافزار خود به دست آورید.
این دوره که توسط یک مهندس نرمافزار حرفهای و با استفاده از مثالهای عملی تدریس میشود، نوشتن تستها را در طول توسعه نرمافزار و دستیابی به کدی با کیفیت بالاتر را آسان میکند، بدون اینکه چرخه توسعه شما را کند کند.
این دوره به جای پرداختن صرف به سینتکس ابزارهای تست، قصد دارد توسعه تستمحور (TDD) را در بستر واقعی خود قرار دهد. ما کشف خواهیم کرد که چه زمانی از تکنیکهای خاصی بر اساس سناریوهای واقعگرایانه استفاده کنیم. این امر تئوری را با ارزش عملی آن مرتبط میکند.
این دوره برای افرادی طراحی شده است که نیاز دارند اتوماسیون تست بیشتری را به گردش کار (Workflow) خود اضافه کنند. ما خواهیم دید که چگونه این کار را با هدفمندی و شیوه درست انجام دهیم. همچنین میآموزیم که چگونه از دامها و اشتباهات رایج جلوگیری کنیم و مطمئن شویم که چیزهای درستی را تست میکنیم.
مباحث شامل:
چرا به تست نیاز داریم؟
اصول تست، از راهاندازی تا اطمینانسنجی (Assertions)
قرمز/سبز/بازسازی (Red/Green/Refactor)
پوشش کد (Code Coverage)
ماکها (Mocks) و تست دابلها (Test Doubles)
تست کدی که به APIها وابسته است
مدیریت و کنترل کد تست
تست اول با رابطهای کاربری (UI)
اگرچه مثالها از وایتست (Vitest) استفاده میکنند، اما میتوانند با معادلهای خود در فریمورک Jest نیز تطبیق داده شوند.
سرفصل ها و درس ها
شروع کار
Getting Started
مقدمه – چرا اینجا هستیم؟
Introduction - Why are we here?
رفتن به بخش جالب – یک مثال اولیه
Skip to the Fun Part - a first example
مثال اول: مرور
First example: recap
لحظهای برگردیم: راهاندازی یک محیط
Back up a minute: Setting up an Environment
مثال سال کبیسه، چکلیستها و مشخصات
Leap year example, checklists and specs
تمرین: تکمیل الگوریتم سال کبیسه
Exercise: finish the leap year algorithm
راهحل: تکمیل الگوریتم سال کبیسه
Solution: finish the leap year algorithm
استخراج اصول TDD آموخته شده تاکنون
Deriving TDD Principles learned so far
فراتر از اصول اولیه
Beyond the Basics
یک مشکل حالتدار – مخزن داده صندلیهای تئاتر – چکلیست و تستهای روز اول
A stateful problem - the theatre seating datastore - checklist and day 1 tests
کد حالتدار برای نظمدهی نیاز به تست دارد
Stateful code needs tests to tidy up
حل کد حالتدار تحت تست با کلاسها، Object Factoryها و توابع خالص
Solve stateful code under test with classes, object factories and pure functions
مشکل تئاتر – بهبود پیادهسازی
Theatre problem - improving the implementation
تمرین: چند صندلی خالی در ردیف G؟ تعداد N صندلی مجاور در ردیف اول به من بدهید.
Exercise: How many spare seats on row G? Get me N adjacent seats on first row.
راهحل: چند صندلی خالی در ردیف G؟ N صندلی مجاور در ردیف اول.
Solution: How many spare seats on row G? N adjacent seats on first row.
آیا میتوانم در مورد Assertions چیزی بیان کنم؟
May I assert something about Assertions?
جمعبندی مبانی
Wrapping up the Fundamentals
حل مسائل با رویکرد Test First
Solving Problems Test First
مثال: Kebab Case به Title و تستهای پارامتریشده
Example: Kebab Case to Title and Parameterised Tests
تمرین: Title به Kebab Case
Exercise: Title to Kebab Case
راهحل: Title به Kebab Case شامل تست رفت و برگشتی (Round Trip testing)
Solution: Title to Kebab Case including Round Trip testing
تمرین: Kebab Case به Title Case (و برعکس؟)
Exercise: Kebab Case to Title Case (and back?)
راهحل: Kebab Case به Title Case و چگونگی علاقه Unit Testها به عبارات باقاعده
Solution: Kebab Case to Title Case and how Unit Tests love Regular Expressions
چالش پیچیدهتر: Org Chart روز اول
More Complex Challenge: Org Chart Day 1
توسعه کامپوننت Org Chart و استفاده از Test Factoryها
Developing the Org Chart Component and Using Test Factories
راهحل – همان تیم و همان Org Chart
Solution - same team and same org chart
جمعبندی – حل مسائل عمیقتر با رویکرد Test First
Wrap Up - Solving deeper problems Test First
مدیریت تستها
Keeping Tests Under Control
کنترل وابستگیها
Controlling Dependencies
کنترل متغیرهای محیطی در زمان تست
Controlling Environment Variables at Test Time
کنترل ترتیب مقداردهی اولیه متغیرهای محیطی
Controlling Order of Environment Variable Initialization
وقتی تستها به زمان وابسته هستند
When Tests Depend on Time
متغیرهای محیطی: روشی دیگر
Environment Variables Another Way
چه کسی آن را صدا زد؟ Mocking و Spying + تمرین
Who called that? Mocking and Spying + Exercise
راهحل: بررسی تابع انتقال با Spying
Solution: spy on the transmission function
Mocking و Spying بدون Dependency Injection
Mocking and Spying without Dependency Injection
تمرین: تبدیل داده
Exercise: data conversion
راهحل: تبدیل داده
Solution: data conversion
جایگزینی Web Service با MSW
Replace Web Service with MSW
ترفندهای بیشتر برای Mocking در Web Service
Further Web Service Mocking Tricks
جمعبندی: وابستگیها کار را سختتر میکنند، اما ما همچنان موفق میشویم
Wrap up: dependencies make things harder, but we still prevail
Test First برای رابطهای کاربری
Test First for User Interfaces
تست جعبه سیاه با مثال DOM که به یک تمرین منجر میشود
Black box testing by DOM example leading to an Exercise
حل تمرین، که منجر به ماژولار کردن کامپوننتها و تستها میشود
Solving the exercise, leading to modularising of components and tests
نکات پایانی
Final Thoughts
نکات پایانی (و برگههای خلاصه)
Final Thoughts (and summary sheets)
نمایش نظرات