راهنمای جامع تست جاوا با JUnit 5 و Mockito

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

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

عنوان دوره: دوره استاد JUnit 5 و Mockito: ساخت تست‌های قوی برای برنامه‌های جاوا

موضوع کلی: توسعه نرم‌افزار با کیفیت

موضوع میانی: تست خودکار برنامه‌های جاوا

🎓 گواهی دوزبانه اتمام دوره

پس از تکمیل کامل دوره، گواهی رسمی اتمام دوره به صورت دوزبانه (فارسی – انگلیسی) برای شما صادر می‌شود.

✅ شرایط دریافت گواهی

  • مطالعه کامل تمامی فلش کارت‌های دوره (نزدیک به 4000 فلش کارت)
  • تکمیل تمامی بخش‌های آموزشی
  • قبولی در آزمون‌های دوره با موفقیت

⏱ مدت زمان دوره

با توجه به وجود نزدیک به 4000 فلش کارت آموزشی، مدت زمان این دوره بر اساس تخمین آموزشی معادل 60 ساعت آموزش در گواهی درج می‌گردد.

🔍 قابلیت استعلام آنلاین

گواهی صادرشده دارای لینک اختصاصی و QR Code برای استعلام آنلاین می‌باشد. کارفرمایان و شرکت‌ها می‌توانند اعتبار گواهی شما را به صورت مستقیم بررسی کنند.

🌍 قابل اشتراک‌گذاری در رزومه و شبکه‌های اجتماعی

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

⚖️ توضیح مهم

این گواهی صرفاً به عنوان گواهی اتمام دوره آموزشی صادر می‌شود و معادل مدرک دانشگاهی، آکادمیک یا مدرک رسمی مورد تأیید نهادهای دولتی نمی‌باشد.

🌐 نسخه تحت وب فلش‌ کارت با الگوریتم هوشمند SM-2

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

🧠 یادگیری بر اساس منحنی فراموشی، نه حدس و گمان

این نسخه تحت وب از الگوریتم SM-2 (استفاده‌شده در سیستم‌های حرفه‌ای فلش کارت دنیا) استفاده می‌کند تا هر فلش کارت را درست در زمانی که مرز فراموشی‌اش نزدیک است به شما نشان دهد. نتیجه؟ یادگیری عمیق‌تر با زمان کمتر.

⏱ مرور زمان‌دار هوشمند

سیستم به‌طور خودکار برنامه مرور شما را می‌چیند؛ دیگر لازم نیست فکر کنید امروز چی بخونم؟ فقط وارد شوید و شروع کنید.

📊 پیگیری پیشرفت لحظه‌ای

ببینید چند فلش‌کارت را کاملا مسلط هستید، چندتا نیاز به مرور دارد و چقدر تا تسلط کامل فاصله دارید.

🖥 همیشه در دسترس، فقط با مرورگر

بدون نصب هیچ برنامه‌ای؛ فقط با یک مرورگر ساده روی موبایل، تبلت یا لپ‌تاپ می‌توانید به کل فلش کارت‌ها دسترسی داشته باشید.

⚡ تمرکز روی مهم‌ترین فلش کارت‌ها

سیستم بر اساس عملکرد شما تشخیص می‌دهد چه کارت‌هایی بیشتری نیاز به تمرین دارند و اولویت نمایش را روی همان‌ها می‌گذارد.

این نسخه تحت وب برای چه کسانی عالی است؟

  • کسانی که می‌خواهند یادگیری‌شان علمی و سیستماتیک باشد، نه شانسی.
  • افرادی که زمان کمی دارند و می‌خواهند با حداقل وقت، حداکثر نتیجه بگیرند.
  • کاربرانی که دوست دارند از هر دستگاهی (موبایل، لپ‌تاپ، محل کار، خانه) به فلش کارت‌ها دسترسی داشته باشند.

اگر فلش کارت‌های معمولی را دوست داشتید، وقتی نسخه تحت وب با الگوریتم SM-2 را ببینید، عاشقش می‌شوید.

📋 سرفصل‌های دوره (100 موضوع)

  • 1. مقدمه‌ای بر اهمیت کیفیت نرم‌افزار
  • 2. مقدمه‌ای بر تست خودکار در جاوا
  • 3. معرفی JUnit 5: نسل جدید تست نویسی
  • 4. چرا JUnit 5؟ مزایا و ویژگی‌های کلیدی
  • 5. نصب و راه‌اندازی JUnit 5
  • 6. اولین تست با JUnit 5
  • 7. ساختار یک تست JUnit 5
  • 8. تست‌های ساده: متدها و کلاس‌ها
  • 9. آشنایی با Assertions در JUnit 5
  • 10. انواع مختلف Assertions برای مقایسه مقادیر
  • 11. Assertions برای چک کردن شرط‌ها
  • 12. Assertions برای چک کردن استثناها (Exceptions)
  • 13. Assertions برای چک کردن Null بودن یا نبودن
  • 14. Assertions برای چک کردن رشته‌ها (Strings)
  • 15. Assertions برای چک کردن آرایه‌ها (Arrays)
  • 16. Assertions برای چک کردن کالکشن‌ها (Collections)
  • 17. Assertions برای چک کردن Map ها
  • 18. Assertions برای چک کردن Boolean
  • 19. Assertions برای چک کردن اعداد ممیز شناور (Floating-point numbers)
  • 20. Assertions برای چک کردن زمان و تاریخ
  • 21. Assertions برای چک کردن فایل‌ها
  • 22. Annotations در JUnit 5: دستورالعمل‌های تست
  • 23. Annotation @Test: قلب تپنده هر تست
  • 24. Annotation @BeforeEach و @AfterEach: آماده‌سازی و پاکسازی قبل و بعد از هر تست
  • 25. Annotation @BeforeAll و @AfterAll: آماده‌سازی و پاکسازی قبل و بعد از همه تست‌ها
  • 26. Annotation @DisplayName: نام‌گذاری خوانا برای تست‌ها
  • 27. Annotation @Disabled: غیرفعال کردن موقت تست‌ها
  • 28. Annotation @RepeatedTest: اجرای مجدد یک تست
  • 29. Annotation @ParameterizedTest: تست با پارامترهای مختلف
  • 30. انواع Source برای ParameterizedTest
  • 31. ValueSource
  • 32. EnumSource
  • 33. CsvSource
  • 34. CsvFileSource
  • 35. MethodSource
  • 36. ArgumentSource
  • 37. تست‌های پارامتری با Custom Argument Converter
  • 38. تست‌های پارامتری با Custom Converter Factory
  • 39. Extension API در JUnit 5: سفارشی‌سازی رفتار تست
  • 40. نوشتن Custom Extension
  • 41. استفاده از Extension برای مدیریت منابع
  • 42. استفاده از Extension برای مدیریت وضعیت (State)
  • 43. استفاده از Extension برای اجرای شرطی تست‌ها
  • 44. تست‌های شرطی (Conditional Tests)
  • 45. @EnabledIf
  • 46. @DisabledIf
  • 47. @EnabledOnOs
  • 48. @DisabledOnOs
  • 49. @EnabledOnJre
  • 50. @DisabledOnJre
  • 51. @EnabledIfSystemProperty
  • 52. @DisabledIfSystemProperty
  • 53. تست‌های تکرار شونده (Repetitive Tests)
  • 54. تست‌های موازی (Parallel Tests)
  • 55. تنظیمات اجرای موازی در JUnit 5
  • 56. تست‌های واحد (Unit Tests): اصول و بهترین شیوه‌ها
  • 57. تست‌های ادغام (Integration Tests): اصول و بهترین شیوه‌ها
  • 58. معرفی Mocking: شبیه‌سازی وابستگی‌ها
  • 59. چرا Mocking؟ حل مشکلات تست‌های ادغام
  • 60. معرفی Mockito: فریم‌ورک قدرتمند Mocking
  • 61. نصب و راه‌اندازی Mockito
  • 62. اولین Mock با Mockito
  • 63. ایجاد Mock Objects
  • 64. Annotation @Mock: ساده‌سازی ایجاد Mock
  • 65. Annotation @InjectMocks: تزریق Mock به کلاس تحت تست
  • 66. Behavior Driven Development (BDD) و Mockito
  • 67. استفاده از Mockito با Hamcrest Matchers
  • 68. Stubbing: تعریف رفتار Mock ها
  • 69. `when().thenReturn()`: تعریف پاسخ ثابت
  • 70. `when().thenThrow()`: شبیه‌سازی استثناها
  • 71. `when().thenCallRealMethod()`: فراخوانی متد واقعی
  • 72. `when().thenAnswer()`: پاسخ‌های داینامیک
  • 73. `doReturn().when()`
  • 74. `doThrow().when()`
  • 75. `doAnswer().when()`
  • 76. `doNothing().when()`
  • 77. Verification: اطمینان از فراخوانی متدها
  • 78. `verify().method()`: اطمینان از فراخوانی یک متد
  • 79. `verify().method(any())`: اطمینان از فراخوانی با هر پارامتری
  • 80. `verify().method(eq(value))`: اطمینان از فراخوانی با مقدار خاص
  • 81. `verify().method(argThat(matcher))`: اطمینان از فراخوانی با شرط خاص
  • 82. `verify().method(times(n))`: اطمینان از تعداد دفعات فراخوانی
  • 83. `verify().method(atLeast(n))`: اطمینان از حداقل تعداد دفعات فراخوانی
  • 84. `verify().method(atMost(n))`: اطمینان از حداکثر تعداد دفعات فراخوانی
  • 85. `verify().method(never())`: اطمینان از عدم فراخوانی
  • 86. `verifyNoMoreInteractions()`: اطمینان از عدم فراخوانی متدهای دیگر
  • 87. `verifyZeroInteractions()`: اطمینان از عدم فراخوانی هیچ متدی
  • 88. Testing Private Methods: رویکردها و ملاحظات
  • 89. Testing Final Classes and Methods
  • 90. Testing Static Methods
  • 91. Testing Enums
  • 92. Testing Exceptions with Mockito
  • 93. Testing Asynchronous Code
  • 94. Testing with Spring Framework
  • 95. Testing with other Frameworks (e.g., Hibernate)
  • 96. Best Practices for Writing Effective Tests
  • 97. Code Coverage: اندازه‌گیری پوشش تست
  • 98. ابزارهای Code Coverage (JaCoCo)
  • 99. تحلیل نتایج Code Coverage
  • 100. Refactoring Tests

انتخاب پکیج دوره

یکی از پکیج‌های زیر را انتخاب کنید؛ مبلغ همان لحظه محاسبه می‌شود.

بدون گواهی
299,950 تومان
با گواهی
599,950 تومان
ورود برای خرید

برای ثبت سفارش وارد شوید یا ثبت‌نام کنید.


  • ساعات تخمینی دوره: 60 ساعت