اپلیکیشن اندرویدی فلشکارت آموزشی استاد 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
این اپلیکیشن فارسی برای یادگیری و مرور محتوای آموزشی از طریق فلشکارت طراحی شده است. کارتها را یکییکی مرور کنید، پاسخ پرسشها را به یاد بیاورید و نتیجه هر پاسخ را ثبت کنید. محتوای دوره پس از نصب درون برنامه در دسترس است تا برای مطالعه روزمره معمولاً به اتصال مداوم اینترنت نیاز نداشته باشید.
محتوای آموزشی در قالبهای متنوع ارائه میشود تا هم برای یادگیری مفاهیم جدید و هم برای تثبیت آموختهها قابل استفاده باشد.
- رابط کاربری فارسی و راستچین با فونت وزیر.
- تم روشن و تیره مطابق تنظیمات سیستم.
- صفحهبندی ساده برای انتخاب دوره و شروع مرور.
- نمایش تعداد دفعات مرور هر فصل.
- انتخاب چند فصل برای مرور همزمان.
- امکان تمرکز بر فصلهایی که هنوز مرور نشدهاند.
این اپلیکیشن برای دانشآموزان، دانشجویان، داوطلبان آزمونها و علاقهمندان به یادگیری طراحی شده است؛ بهویژه کسانی که میخواهند مطالب آموزشی را در زمانهای کوتاه مرور کنند، دانستههای خود را بسنجند و مطالعه منظمتری داشته باشند.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.