[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"gpage:gazmeh-site\u002Fpages\u002Ffa\u002Four-workshops\u002Funit-test":3},{"class":4,"style":5,"vars":7,"title":12,"desc":13,"tags":14,"image":16,"content":17,"baseUrl":18},"folder-class",{"image":6},"h-48 sm:h-52 md:h-54 lg:h-60",{"SITE_URL":8,"PAGES_URL":9,"POSTS_URL":10,"CHAT_LINK":11},"https:\u002F\u002Fgazmeh.ir\u002Ffa","https:\u002F\u002Fgazmeh.ir\u002Ffa\u002Fpages","https:\u002F\u002Fgazmeh.ir\u002Ffa\u002Fposts","https:\u002F\u002Fgoftino.com\u002Fc\u002FwBDyHW","آزمون واحد","آموزش اصولی Unit Testing با تمرکز بر JUnit 5، Mockito، کیفیت تست‌ها، پوشش کد، آزمون جهش و یکپارچه‌سازی با DevOps",[15],"راهنما","https:\u002F\u002Fraw.githubusercontent.com\u002Fgazmeh-site\u002Fpages\u002Fmain\u002Ffa\u002Four-workshops\u002Funit-test\u002Fresources\u002Fimage.webp","---\ntitle: کارگاه آزمون واحد\ndescription: آموزش اصولی Unit Testing با تمرکز بر JUnit 5، Mockito، کیفیت تست‌ها، پوشش کد و یکپارچه‌سازی با DevOps\nnavigation.icon: i-lucide-check-circle\n---\n\n::callout{icon=\"i-lucide-info\"}\nدر این کارگاه، مفاهیم و تکنیک‌های **آزمون واحد (Unit Testing)** به‌صورت عمیق و عملی بررسی می‌شود تا کیفیت، پایداری و قابلیت نگهداری نرم‌افزار تضمین گردد.\n::\n\n## معرفی کارگاه\n\nآزمون‌های واحد یکی از بنیادی‌ترین ابزارها برای **تضمین کیفیت نرم‌افزار** هستند.  \nدر این کارگاه، شرکت‌کنندگان می‌آموزند چگونه تست‌های واحدی بنویسند که علاوه بر کشف خطا، به **طراحی بهتر کد، افزایش خوانایی و نگهداشت‌پذیری سیستم** کمک کند.\n\nهمچنین روش‌های **ارزیابی کیفیت تست‌ها، پوشش کد، آزمون جهش و یکپارچه‌سازی Unit Testing با DevOps** به‌صورت عملی بررسی می‌شود.\n\n\n## مراحل کلی کارگاه\n\n::steps{level=\"3\"}\n\n### درک مفاهیم و اهمیت Unit Testing\nشناخت اهداف، مزایا و نقش آزمون واحد در تضمین کیفیت نرم‌افزار.\n\n### نوشتن تست‌های واحد اصولی\nیادگیری تکنیک‌ها، الگوها و ابزارهای نوشتن تست‌های قابل اعتماد و خوانا.\n\n### ارزیابی کیفیت و یکپارچه‌سازی با DevOps\nتحلیل کیفیت تست‌ها، پوشش کد و اتصال Unit Testing به چرخه CI\u002FCD.\n\n::\n\n\n## سرفصل‌های کارگاه\n\n::accordion\n\n:::accordion-item{label=\"مفاهیم پایه Unit Testing\"}\n- مقدمه‌ای بر Unit Testing  \n- چرا باید به Unit Testing اهمیت دهیم؟  \n- هدف اصلی Unit Testing  \n- تعریف Unit Testing  \n:::\n\n:::accordion-item{label=\"نگاهی عمیق‌تر به Unit Testing با JUnit 5\"}\n- بررسی عمیق Unit Testing  \n- مثال‌های عملی با JUnit 5  \n- ساختار Test Class و Test Case  \n:::\n\n:::accordion-item{label=\"نحوه نوشتن Unit Test اصولی\"}\n- Lifecycle Methods  \n- Naming Convention  \n- Assertions و Assumptions  \n- Repeated Test  \n- Parameterized Test  \n- Dynamic Test  \n:::\n\n:::accordion-item{label=\"کتابخانه‌های Assertions\"}\n- بررسی AssertJ  \n- بررسی Truth  \n- بررسی Hamcrest  \n- مقایسه و موارد استفاده هرکدام  \n:::\n\n:::accordion-item{label=\"الگوها و مفاهیم پیشرفته Unit Testing\"}\n- معرفی الگوهای پرکاربرد Unit Testing  \n- مفاهیم Mock و Stub  \n- مثال‌های عملی با Mockito  \n:::\n\n:::accordion-item{label=\"کیفیت تست‌ها و ارزیابی آن‌ها\"}\n- آزمون‌های بد در برابر آزمون‌های خوب  \n- معیارهای تشخیص کیفیت تست‌ها  \n- چگونه تست‌های قابل نگهداری بنویسیم؟  \n:::\n\n:::accordion-item{label=\"پوشش کد و آزمون‌های پیشرفته\"}\n- مفاهیم Code Coverage با JaCoCo  \n- مفاهیم Test Coverage  \n- آزمون جهش (Mutation Testing) با Pitest  \n:::\n\n:::accordion-item{label=\"طراحی کد آزمون‌پذیر و DevOps\"}\n- چگونه کدهای Testable بنویسیم؟  \n- مقدمه‌ای بر TDD و BDD  \n- اضافه‌کردن Unit Testing به چرخه DevOps  \n:::\n\n::\n\n## کارگاه‌های مرتبط\n::card-group\n  ::card\n  ---\n  title: تجمیع پیوسته و تضمین کیفیت سورس کد\n  icon: i-lucide-settings\n  to: $PAGES_URL\u002Four-workshops\u002Ftest-devops\n  color: primary\n  ---\n  ادغام تست‌های واحد با CI\u002FCD و کنترل کیفیت کد.\n  ::\n\n  ::card\n  ---\n  title: خودکارسازی آزمون‌های وب\n  icon: i-lucide-globe\n  to: $PAGES_URL\u002Four-workshops\u002Fautomation-mobile\n  color: primary\n  ---\n  تکمیل زنجیره تست از سطح واحد تا رابط کاربری وب.\n  ::\n::\n","https:\u002F\u002Fraw.githubusercontent.com\u002Fgazmeh-site\u002Fpages\u002Fmain\u002Ffa\u002Four-workshops\u002Funit-test\u002F"]