اپلیکیشن اندرویدی فلشکارت آموزشی آموزش Unit Testing با JUnit و Mockito
📚 کتاب آموزشی جامع
📚 اطلاعات کتاب
عنوان کتاب: کتاب آموزش Unit Testing با JUnit و Mockito
موضوع کلی: برنامه نویسی
موضوع میانی: برنامهنویسی اندروید (Android Native)
📋 سرفصلهای کتاب (100 موضوع)
- 1. مقدمه و اصول Unit Testing
- 2. اهمیت Unit Testing در توسعه نرمافزار
- 3. تعریف Unit Testing
- 4. اهداف Unit Testing
- 5. مزایای Unit Testing
- 6. معایب Unit Testing
- 7. تفاوت Unit Testing با Integration Testing و End-to-End Testing
- 8. انواع تستها (Black Box, White Box, Gray Box)
- 9. مفاهیم کلیدی در Unit Testing (Test Case, Test Suite, Assertion, Stub, Mock)
- 10. معرفی JUnit
- 11. تاریخچه JUnit
- 12. نصب و راهاندازی JUnit
- 13. اولین تست با JUnit
- 14. ساختار یک کلاس تست JUnit
- 15. استفاده از Annotation ها در JUnit (@Test, @Before, @After, @BeforeClass, @AfterClass)
- 16. نوشتن Assertion های پایه در JUnit (assertEquals, assertTrue, assertFalse, assertNull, assertNotNull)
- 17. Assertions پیشرفته در JUnit (assertArrayEquals, assertSame, assertNotSame, assertThrows)
- 18. مدیریت خطاها و Exception ها در JUnit
- 19. استفاده از Parameterized Tests در JUnit
- 20. استفاده از @RunWith در JUnit
- 21. استفاده از Rule ها در JUnit (TestWatcher, ErrorCollector, ExpectedException)
- 22. معرفی Mocking
- 23. چرا به Mocking نیاز داریم؟
- 24. تفاوت Stub و Mock
- 25. مفاهیم Mocking (Dependency, Collaborator)
- 26. معرفی Mockito
- 27. تاریخچه Mockito
- 28. نصب و راهاندازی Mockito
- 29. اولین Mock با Mockito
- 30. ایجاد Mock Object
- 31. روشهای ایجاد Mock (Mockito.mock(), @Mock annotation)
- 32. تعریف رفتار Mock (Stubbing)
- 33. استفاده از when().thenReturn()
- 34. استفاده از when().thenThrow()
- 35. استفاده از when().thenCallRealMethod()
- 36. استفاده از when().thenAnswer()
- 37. استفاده از Argument Matchers در Mockito (any(), eq(), eq(), isNull(), notNull(), argThat())
- 38. استفاده از Ordered Stubbing
- 39. استفاده از Mocking اینترفیسها
- 40. Mocking کلاسهای نهایی (Final Classes)
- 41. Mocking متدهای نهایی (Final Methods)
- 42. Mocking متدهای private (با احتیاط و برای موارد خاص)
- 43. بررسی تعاملات با Mock (Verification)
- 44. استفاده از verify()
- 45. بررسی تعداد فراخوانی متد (times(), atLeast(), atMost(), never())
- 46. بررسی ترتیب فراخوانی متدها (InOrder)
- 47. استفاده از ArgumentCaptor برای گرفتن آرگومانها
- 48. Mocking متدهای static (با استفاده از Mockito-inline)
- 49. Mocking constructors (با استفاده از Mockito-inline)
- 50. Mocking کلاسهای Spring (با استفاده از SpringExtension)
- 51. استفاده از @InjectMocks
- 52. تفاوت @InjectMocks با Mockito.mock()
- 53. تزریق Mock ها به کلاس مورد تست
- 54. تست کردن لایه Service
- 55. تست کردن لایه Repository (با Mocking)
- 56. تست کردن لایه Controller (با Mocking)
- 57. تست کردن کلاسهای دارای وابستگیهای پیچیده
- 58. تست کردن کلاسهای دارای Singleton
- 59. تست کردن کلاسهای دارای Threading
- 60. تست کردن کلاسهای دارای زمان (Date, Time)
- 61. تست کردن کلاسهای دارای Exception های سفارشی
- 62. تست کردن کلاسهای دارای Collection ها
- 63. تست کردن کلاسهای دارای Map ها
- 64. تست کردن کلاسهای دارای Stream API
- 65. تست کردن کلاسهای دارای Lambda Expressions
- 66. تست کردن کلاسهای دارای Generics
- 67. تست کردن کلاسهای دارای Annotations
- 68. تست کردن کلاسهای دارای Reflection
- 69. نکات و ترفندهای پیشرفته در Mockito
- 70. استفاده از Mockito Extension ها
- 71. استفاده از Mockito Annotations (@Spy, @Captor)
- 72. تست کردن کد Legacy با Mockito
- 73. بهترین روشها در Unit Testing
- 74. نوشتن تستهای خوانا و قابل نگهداری
- 75. اصول FIRST در Unit Testing (Fast, Independent, Repeatable, Self-validating, Timely)
- 76. اهمیت نامگذاری مناسب تستها
- 77. پوشش تست (Test Coverage)
- 78. ابزارهای سنجش Test Coverage (JaCoCo, Cobertura)
- 79. چگونه Test Coverage را افزایش دهیم؟
- 80. ملاحظات در نوشتن تست برای کد Production
- 81. نوشتن تست برای کد با ریسک بالا
- 82. تست کردن سناریوهای Edge Case
- 83. تست کردن سناریوهای Happy Path
- 84. تست کردن سناریوهای Failure Path
- 85. مغالطههای رایج در Unit Testing
- 86. اشتباهات رایج در استفاده از Mockito
- 87. چگونه از Mocking بیش از حد اجتناب کنیم؟
- 88. تست کردن بدون وابستگی به دیتابیس
- 89. تست کردن بدون وابستگی به شبکه
- 90. تست کردن بدون وابستگی به فایل سیستم
- 91. تست کردن با استفاده از Test Data Generator ها
- 92. استفاده از JUnit 5 (Jupiter)
- 93. تفاوت JUnit 4 و JUnit 5
- 94. معرفی JUnit 5 Architecture (Launcher, Engine, Platform)
- 95. Annotation های جدید در JUnit 5 (@DisplayName, @Disabled, @RepeatedTest, @TestFactory)
- 96. استفاده از Dynamic Tests در JUnit 5
- 97. استفاده از Extensions در JUnit 5
- 98. استفاده از Assertions API در JUnit 5
- 99. استفاده از Parameterized Tests در JUnit 5
- 100. معرفی Mockito 3 و ویژگیهای جدید
این اپلیکیشن فارسی برای یادگیری و مرور محتوای آموزشی از طریق فلشکارت طراحی شده است. کارتها را یکییکی مرور کنید، پاسخ پرسشها را به یاد بیاورید و نتیجه هر پاسخ را ثبت کنید. محتوای دوره پس از نصب درون برنامه در دسترس است تا برای مطالعه روزمره معمولاً به اتصال مداوم اینترنت نیاز نداشته باشید.
محتوای آموزشی در قالبهای متنوع ارائه میشود تا هم برای یادگیری مفاهیم جدید و هم برای تثبیت آموختهها قابل استفاده باشد.
- رابط کاربری فارسی و راستچین با فونت وزیر.
- تم روشن و تیره مطابق تنظیمات سیستم.
- صفحهبندی ساده برای انتخاب دوره و شروع مرور.
- نمایش تعداد دفعات مرور هر فصل.
- انتخاب چند فصل برای مرور همزمان.
- امکان تمرکز بر فصلهایی که هنوز مرور نشدهاند.
این اپلیکیشن برای دانشآموزان، دانشجویان، داوطلبان آزمونها و علاقهمندان به یادگیری طراحی شده است؛ بهویژه کسانی که میخواهند مطالب آموزشی را در زمانهای کوتاه مرور کنند، دانستههای خود را بسنجند و مطالعه منظمتری داشته باشند.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.