فلشکارتهای آموزشی استاد JUnit 5 و Mockito: ساخت تستهای قوی برای برنامههای جاوا
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره استاد JUnit 5 و Mockito: ساخت تستهای قوی برای برنامههای جاوا
موضوع کلی: توسعه نرمافزار با کیفیت
موضوع میانی: تست خودکار برنامههای جاوا
📋 سرفصلهای دوره
- 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
SMART LEARNING PLATFORM
از مطالعه تا یادگیری ماندگار
فراتر از یک مجموعه فلشکارت؛ تجربهای تعاملی برای یادگیری، تمرین، مرور هوشمند و مشاهده مسیر پیشرفت شما، همراه با امکان دریافت گواهی پایان دوره در دورههای واجد شرایط.
مرور فاصلهدار
آمار یادگیری
گواهی دوزبانه
یادگیری را به یک مسیر قابل پیگیری تبدیل کنید
با ورود به سامانه آموزشی، محتوای دوره را بهصورت مرحلهای دنبال کنید، فلشکارتها را مرور کنید، دانش خود را با پرسشها و آزمونها بسنجید و روند پیشرفتتان را در طول مسیر ببینید.
⟳
مرور فاصلهدار هوشمند
با مرور زماندار، کارتهای تازه و کارتهای سررسیدشده را بر اساس برنامه مرور دنبال کنید. ارزیابی پاسخها به زمانبندی مرورهای بعدی کمک میکند تا تمرین متناسبتری داشته باشید.
◉
مشاهده مسیر پیشرفت
میزان مشاهده فلشکارتها، فعالیتهای مرور، عملکرد آزمونها و آمار یادگیری را بررسی کنید و تصویر روشنتری از مسیر آموزشی خود داشته باشید.
▤
یادگیری مرحلهبهمرحله
فصلها و بخشهای آموزشی را به ترتیب دنبال کنید، مطالب دیدهنشده را پیدا کنید و بدون سردرگمی به ادامه مسیر برگردید.
✓
تمرین و سنجش آموختهها
با نکتههای آموزشی، پرسش و پاسخ، کوییزها و آزمونهای پایان فصل، دانستههای خود را تمرین کنید و بخشهایی را که به توجه بیشتری نیاز دارند بشناسید.
SMART REVIEW
هر بار، مرور هدفمندتر
لازم نیست هر روز از ابتدا درباره اینکه چه چیزی را مرور کنید تصمیم بگیرید. سامانه، صف مرور روزانه را بر اساس کارتهای تازه و موعد مرور کارتها آماده میکند. شما پاسخ را ارزیابی میکنید و برنامه مرور با توجه به آن تنظیم میشود.
دوباره
برای کارتهایی که به تمرین زودتر نیاز دارند.
سخت
برای پاسخهایی که با دشواری به یاد آمدهاند.
خوب
برای پاسخهایی که بهدرستی به یاد آوردهاید.
آسان
برای کارتهایی که پاسخ آنها را بهآسانی میدانید.
برنامه مرور بر اساس ارزیابی شما تنظیم میشود؛ مرور منظم میتواند به تثبیت آموختهها کمک کند، اما بهتنهایی تضمینکننده تسلط کامل نیست.
محتوا را به شیوههای مختلف تمرین کنید
ساختار دورهها متناسب با موضوع آموزشی طراحی شده است و ممکن است انواع مختلفی از محتوا را در بر بگیرد.
نکتههای ساده
برای مرور سریع مفاهیم اصلی و نکات کلیدی.
نکتههای رسمی
برای تمرین تعاریف، اصطلاحات و بیان دقیق علمی.
کوییز
برای سنجش درک مطلب و بررسی گزینه صحیح.
پرسش و پاسخ
برای تمرین یادآوری و سنجش میزان تسلط بر مطالب.
محتوای هر دوره بر اساس ساختار و امکانات فعال همان دوره ارائه میشود.
LEARN ANYWHERE
همراه شما روی مرورگر
برای استفاده از نسخه تحت وب، کافی است با حساب کاربری خود وارد سامانه شوید. بدون نیاز به نصب یک برنامه اختصاصی، میتوانید از مرورگر سازگار روی گوشی، تبلت یا رایانه به دورههای در دسترس خود مراجعه کنید.
گوشی هوشمند
برای مطالعه در زمانهای کوتاه
تبلت و لپتاپ
برای مطالعه و مرور راحتتر
حساب کاربری شخصی
برای دسترسی به دورههای مجاز شما
COURSE COMPLETION CERTIFICATE
گواهی پایان دوره؛ ثبت دستاورد شما
در دورههایی که امکان دریافت گواهی برای آنها فعال است، میتوانید پس از تکمیل شرایط آموزشی، درخواست گواهی پایان دوره ثبت کنید.
شرایط درخواست گواهی
✓ داشتن دسترسی دارای قابلیت گواهی برای دوره مربوطه.
✓ تکمیل اطلاعات لازم در پروفایل، شامل کد ملی معتبر، عکس پرسنلی و نام و نام خانوادگی انگلیسی.
✓ مشاهده تمام فلشکارتهای فعال دوره.
✓ قبولی در آزمونهای پایان فصل، در صورت وجود آزمون برای فصلها.
فارسی و انگلیسی
پس از تأیید و انتشار، نسخههای فارسی و انگلیسی گواهی در دسترس قرار میگیرند.
استعلام آنلاین
گواهی منتشرشده دارای QR Code و لینک اختصاصی برای بررسی آنلاین اعتبار آن است.
دانلود و چاپ
پس از انتشار گواهی، امکان دریافت نسخه PDF فارسی و انگلیسی و چاپ آن فراهم است.
توجه: ثبت درخواست به معنای صدور قطعی نیست. درخواست گواهی پس از بررسی و تأیید ادمین منتشر میشود. این گواهی، گواهی پایان دوره آموزشی است و بهخودیخود معادل مدرک دانشگاهی یا مدرک رسمی مورد تأیید نهادهای دولتی نیست.
یادگیری را شروع کنید؛ پیشرفت را دنبال کنید
با تمرین منظم، مرور هدفمند و پیگیری مسیر آموزشی خود، قدمبهقدم دانش و مهارتهایتان را گسترش دهید.
هر کارت، یک قدم به جلو
امکانات محتوایی، مرور و گواهی بر اساس سطح دسترسی و تنظیمات هر دوره متفاوت است.
نگاهی به محیط سامانه
یادگیری هوشمند، قدمبهقدم
با محیط سامانه آموزشی آشنا شوید و نمونههایی از فضای یادگیری، فلشکارتها و ابزارهای مرور و تمرین را مشاهده کنید.
محیط سامانه آموزشی
برای مشاهده تصویر در اندازه بزرگتر کلیک کنید
یادگیری و مرور مطالب
برای مشاهده تصویر در اندازه بزرگتر کلیک کنید
تجربه مطالعه تعاملی
برای مشاهده تصویر در اندازه بزرگتر کلیک کنید
امکانات بیشتر سامانه
برای مشاهده تصویر در اندازه بزرگتر کلیک کنید
یادگیری فراتر از مطالعه معمولی
با فلشکارتهای آموزشی، مرور هدفمند و تمرین مستمر، مطالب را فعالانه یاد بگیرید و مسیر پیشرفت خود را دنبال کنید.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.