کتاب صوتی Typescript: تست نویسی Test-Driven Development (TDD)

TypeScript: آموزش تست‌نویسی TDD | ارتقای مهارت برنامه‌نویسی شما TypeScript: آموزش تست‌نویسی TDD - تضمین کیفیت کد و ارتقای مهارت برنامه‌نویسی معرفی دوره آیا می‌خواهید کدهایی بنویسید که نه تنها کار می‌ک...

انتخاب پلن

انتخاب پلن برای ادامه خرید الزامی است.

پرداخت اقساطی
در صورت خرید اقساطی هر قسط: 124,963 تومان
۴ قسط ماهانه. بدون سود، چک و ضامن.
پرداخت اقساطی با دیجی‌پی پرداخت اقساطی با ترب‌پی

🎓 دوره آموزشی جامع

📚 اطلاعات دوره

عنوان دوره: دوره Typescript: تست نویسی Test-Driven Development (TDD)

موضوع کلی: برنامه نویسی

موضوع میانی: تایپ اسکریپت (TypeScript)

📋 سرفصل‌های دوره

  • 1. مقدمه‌ای بر Test-Driven Development (TDD)
  • 2. چرا TDD؟ مزایا و فلسفه آن
  • 3. مقایسه TDD با رویکردهای سنتی تست‌نویسی
  • 4. آشنایی با چرخه TDD: قرمز-سبز-بازآفرینی (Red-Green-Refactor)
  • 5. راه‌اندازی محیط توسعه: Node.js, npm/yarn
  • 6. ایجاد یک پروژه جدید تایپ‌اسکریپت (tsconfig.json)
  • 7. نصب و پیکربندی Jest به عنوان فریم‌ورک تست
  • 8. ادغام Jest با تایپ‌اسکریپت با استفاده از ts-jest
  • 9. ساختار پوشه‌بندی پروژه برای تست‌ها (src و test)
  • 10. نوشتن اولین فایل تست: anatomy of a .test.ts file
  • 11. اجرای اولین تست (که هنوز خالی است)
  • 12. آشنایی با بلوک‌های describe و it (یا test)
  • 13. مفهوم Assertion و تابع expect در Jest
  • 14. اولین چرخه کامل TDD: نوشتن یک تست ناموفق (Red)
  • 15. معرفی Matcherها: `toBe` برای مقادیر اولیه
  • 16. نوشتن حداقل کد برای پاس شدن تست (Green)
  • 17. مفهوم بازآفرینی کد (Refactor) و اهمیت آن
  • 18. بازآفرینی کد تابع و تست بدون تغییر در رفتار
  • 19. مقایسه `toBe` و `toEqual` برای اشیاء و آرایه‌ها
  • 20. تست کردن مقادیر Truthiness و Falsiness
  • 21. تست کردن اعداد: `toBeGreaterThan`, `toBeLessThan`
  • 22. تست کردن رشته‌ها با عبارات باقاعده (Regex)
  • 23. تست کردن آرایه‌ها و مقادیر موجود در آنها (`toContain`)
  • 24. گروه‌بندی تست‌های مرتبط با `describe`
  • 25. اجرای کدهای آماده‌سازی قبل و بعد از هر تست (`beforeEach`, `afterEach`)
  • 26. اجرای کدهای آماده‌سازی یک‌بار برای کل مجموعه تست (`beforeAll`, `afterAll`)
  • 27. TDD برای توابع Pure: مثال‌های عملی
  • 28. تست توابع با ورودی‌ها و خروجی‌های مختلف (اعداد، رشته‌ها، بولین‌ها)
  • 29. TDD برای کار با اشیاء (Objects) در تایپ‌اسکریپت
  • 30. TDD برای کار با آرایه‌ها (Arrays) و متدهای آن
  • 31. استفاده از اینترفیس‌ها (Interfaces) و تایپ‌ها (Types) در تست‌ها
  • 32. تست کردن Union Types و Optional Parameters
  • 33. مدیریت و تست خطاها (Errors) با `toThrow`
  • 34. تست کردن پیام‌های خطای خاص
  • 35. مقدمه‌ای بر کد ناهمگام (Asynchronous) در تایپ‌اسکریپت
  • 36. تست کردن Promiseها
  • 37. استفاده از `async/await` در تست‌ها برای خوانایی بهتر
  • 38. تست کدهای `async` که با موفقیت `resolve` می‌شوند
  • 39. تست کدهای `async` که با خطا `reject` می‌شوند
  • 40. مدیریت Timeout در تست‌های ناهمگام
  • 41. مفهوم وابستگی‌ها (Dependencies) و اثرات جانبی (Side Effects)
  • 42. چرا به Mocking نیاز داریم؟ ایزوله کردن واحد تحت تست
  • 43. آشنایی با Mock Functions در Jest (`jest.fn`)
  • 44. تست کردن تعداد دفعات فراخوانی یک Mock (`toHaveBeenCalledTimes`)
  • 45. تست کردن آرگومان‌های پاس داده شده به یک Mock (`toHaveBeenCalledWith`)
  • 46. شبیه‌سازی مقادیر بازگشتی با `mockReturnValue`
  • 47. شبیه‌سازی Promiseهای موفق با `mockResolvedValue`
  • 48. شبیه‌سازی Promiseهای ناموفق با `mockRejectedValue`
  • 49. مقدمه‌ای بر Mocking Modules با `jest.mock`
  • 50. Mock کردن ماژول‌های داخلی پروژه
  • 51. Mock کردن کتابخانه‌های خارجی (third-party libraries)
  • 52. مفهوم جاسوسی (Spying) با `jest.spyOn`
  • 53. کاربرد `spyOn` برای نظارت بر متدهای یک شیء بدون تغییر رفتار آن
  • 54. بازگرداندن پیاده‌سازی اصلی با `mockRestore`
  • 55. TDD برای کلاس‌ها (Classes) در تایپ‌اسکریپت
  • 56. تست کردن Constructor و Propertyهای یک کلاس
  • 57. تست کردن متدهای Public یک کلاس
  • 58. بحثی در مورد تست متدهای Private
  • 59. Mock کردن وابستگی‌های یک کلاس در Constructor
  • 60. تفاوت بین Mock, Stub و Spy
  • 61. TDD با تایپ‌های ژنریک (Generics)
  • 62. تست یک تابع ژنریک
  • 63. تست یک کلاس ژنریک (مانند Stack یا Queue)
  • 64. معرفی Snapshot Testing: چیستی و کاربردها
  • 65. نوشتن و اجرای اولین Snapshot Test
  • 66. استراتژی‌های به‌روزرسانی Snapshotها
  • 67. چه زمانی از Snapshot Testing استفاده کنیم (و نکنیم)
  • 68. تست کردن Type Guards سفارشی در تایپ‌اسکریپت
  • 69. معرفی مفهوم Code Coverage
  • 70. تولید و تحلیل گزارش Code Coverage
  • 71. معنای معیارهای پوشش کد: Statement, Branch, Function, Line
  • 72. افسانه پوشش کد ۱۰۰٪: اهداف واقع‌گرایانه
  • 73. تست‌های پارامتری (Parametrized Tests) با `test.each`
  • 74. TDD برای توسعه یک ماژول کاربردی (Utility Module)
  • 75. الگوی Arrange-Act-Assert (AAA) برای ساختاردهی تست‌ها
  • 76. نوشتن نام‌های گویا و توصیفی برای تست‌ها
  • 77. TDD در یک سناریو واقعی: ساخت یک اعتبارسنج (Validator)
  • 78. مقدمه‌ای بر تست لایه‌های مختلف یک اپلیکیشن (Controller, Service, Repository)
  • 79. TDD برای لایه سرویس (Service Layer)
  • 80. مفهوم Inversion of Control و Dependency Injection در تست
  • 81. Mock کردن لایه Repository برای تست واحد لایه Service
  • 82. تفاوت تست واحد (Unit), یکپارچه‌سازی (Integration) و End-to-End (E2E)
  • 83. نوشتن یک تست یکپارچه‌سازی ساده
  • 84. معرفی Property-Based Testing
  • 85. نوشتن یک Matcher سفارشی ساده با `expect.extend`
  • 86. TDD برای کار با تاریخ و زمان (Mocking `Date`)
  • 87. TDD برای توابعی که با فایل سیستم کار می‌کنند
  • 88. الگوهای طراحی (Design Patterns) مناسب برای کد قابل تست
  • 89. بازآفرینی به سمت کد تمیز (Clean Code)
  • 90. بازآفرینی تست‌ها: چگونه تست‌های بهتری بنویسیم
  • 91. اشتباهات رایج در تست‌نویسی و نحوه اجتناب از آنها
  • 92. اجتناب از منطق (if/else, loops) در تست‌ها
  • 93. حفظ استقلال و ایزوله بودن تست‌ها از یکدیگر
  • 94. سریع نگه داشتن مجموعه تست‌ها
  • 95. دیباگ کردن تست‌ها در VS Code و ابزارهای دیگر
  • 96. استفاده از Watch Mode برای افزایش سرعت چرخه TDD
  • 97. اجرای تنها یک تست یا یک مجموعه تست خاص
  • 98. ادغام تست‌ها با Git Hooks (Husky & lint-staged)
  • 99. مقدمه‌ای بر Continuous Integration (CI)
  • 100. راه‌اندازی یک پایپ‌لاین CI ساده با GitHub Actions برای اجرای خودکار تست‌ها
EXPRESS24 AUDIO EXPERIENCE
یادگیری را بشنوید؛ زندگی کنید
کتاب‌های صوتی و پادکست‌های آموزشی، راهی دلنشین برای کشف ایده‌های تازه، گسترش دانش و استفاده بهتر از لحظه‌های روزمره هستند.
دانش، الهام و تجربه؛ این بار با صدای زندگی
برای آموختن، همیشه لازم نیست بخوانید
گاهی بهترین فرصت یادگیری زمانی است که در مسیر رفت‌وآمد هستید، قدم می‌زنید، استراحت می‌کنید یا کارهای روزمره‌تان را انجام می‌دهید. محتوای صوتی کمک می‌کند از این لحظه‌ها برای شنیدن، اندیشیدن و آشنایی با موضوعات تازه بهره ببرید.
◷
یادگیری در دل روزمرگی
از زمان رفت‌وآمد، پیاده‌روی یا استراحت برای شنیدن محتوای مفید استفاده کنید؛ بدون آنکه همیشه به کتاب چاپی یا صفحه نمایش نیاز داشته باشید.
◎
تجربه‌ای شنیداری و دلنشین
با روایت صوتی، توضیحات گفتاری و فضای شنیداری هر محتوا همراه شوید و متناسب با سلیقه خود، شیوه تازه‌ای برای دریافت مطالب تجربه کنید.
✦
گسترش دانش و دیدگاه
با موضوعات متنوع آشنا شوید، ایده‌های تازه کشف کنید و فرصت بیشتری برای یادگیری مستمر و پرورش کنجکاوی خود بسازید.
♫
همراه با سبک زندگی شما
محتوای صوتی را متناسب با برنامه روزانه خود انتخاب کنید و در زمان مناسب، شنیدن را به بخشی از عادت‌های شخصی‌تان تبدیل کنید.
کتاب صوتی یا پادکست؟
کتاب صوتی
راهی برای همراه شدن با محتوای یک کتاب از طریق شنیدن. بسته به اثر، می‌توانید داستان‌ها، آموزش‌ها، مفاهیم تخصصی یا مطالب کاربردی را در قالب روایت و بیان صوتی دنبال کنید.
مناسب برای شنیدن و مرور محتوای کتاب‌ها
پادکست آموزشی
فرصتی برای دنبال کردن موضوعات مشخص در قالب گفت‌وگو، روایت، توضیح آموزشی یا مجموعه‌ای از قسمت‌های صوتی؛ مناسب برای کشف ایده‌ها و آشنایی با دیدگاه‌های گوناگون.
مناسب برای یادگیری موضوعی و شنیدن دیدگاه‌های تازه
هر جا که هستید، شنیدن را آغاز کنید
با دستگاه مناسب خود، محتوای صوتی را به آسانی دنبال کنید.
▯
گوشی هوشمند
اندروید و آیفون
▣
تبلت
برای شنیدن و دنبال کردن محتوا
▤
رایانه و لپ‌تاپ
با پخش‌کننده صوتی سازگار
♫
هدفون و بلندگو
برای شنیدن متناسب با محیط
چطور از تجربه شنیدن بیشتر بهره ببریم؟
✦ زمان مناسبی برای شنیدن انتخاب کنید؛ زمانی که بتوانید با آرامش به محتوا توجه داشته باشید.
✦ برای مطالب آموزشی، نکته‌های مهم را یادداشت کنید یا پس از پایان شنیدن، آن‌ها را مرور کنید.
✦ اگر محتوا طولانی است، آن را در چند نوبت دنبال کنید تا فرصت بیشتری برای درک و مرور داشته باشید.
✦ هنگام رانندگی یا انجام کارهای نیازمند تمرکز، ایمنی را در اولویت قرار دهید و از شیوه شنیدنی استفاده کنید که حواس شما را مختل نکند.
هر شنیدن، فرصتی برای کشف است
با کتاب‌های صوتی و پادکست‌های آموزشی، دنیای تازه‌ای از ایده‌ها، روایت‌ها و آموختنی‌ها را به لحظه‌های خود اضافه کنید.
کشف محصولات بیشتر در اکسپرس ۲۴
express24.ir
امکانات پخش، ادامه شنیدن و دسترسی آفلاین به نوع فایل، دستگاه و نرم‌افزار مورد استفاده بستگی دارد.
AUDIO PREVIEW
قبل از انتخاب، گوش کنید!
بخشی از سبک محتوای محصولات صوتی ما را بشنوید و با فضای آن آشنا شوید.
♫
نمونه صوتی از سبک محصولات صوتی ما
پیش‌نمایش کوتاهی از سبک پادکست های صوتی محصولات ما
پخش آنلاین
برای تجربه بهتر، می‌توانید از هدفون استفاده کنید.
تگ‌ها: JavaScript Programming TDD Test-Driven Development TypeScript آموزش TypeScript برنامه نویسی بهترین روش های برنامه نویسی تایپ اسکریپت تست نویسی توسعه دهنده توسعه نرم افزار کدنویسی کیفیت کد یادگیری TypeScript

نظرات

هنوز نظری ثبت نشده است.

وارد شوید تا نظر ثبت کنید.