آنچه یاد خواهید گرفت:
یاد بگیرید چگونه تستهای واحد را در زبان Go بنویسید.
یاد بگیرید چگونه تستهای یکپارچهسازی را در زبان Go بنویسید و آنها را با استفاده از Docker ساده کنید.
یاد بگیرید چگونه مجموعههای تست را در زبان Go ایجاد کنید.
یاد بگیرید چگونه یک وب اپلیکیشن ساده ایجاد کنید و هندلرها، میدلور، دیتابیس و موارد دیگر را تست کنید.
یاد بگیرید چگونه یک REST API ساده در زبان Go ایجاد کنید و اندپوینتهای آن را تست کنید.
یاد بگیرید چگونه با استفاده از توکنهای JWT (و توکنهای refresh) احراز هویت کنید و تمام قابلیتها را بهطور کامل تست کنید.
یاد بگیرید چگونه تستهایی را بنویسید که چندین سناریو را با استفاده از table tests پوشش میدهند.
پیشنیازهای دوره
درک اولیه با زبان برنامهنویسی Go
توضیحات دوره
نوشتن تستهای واحد و تستهای یکپارچهسازی یکی از نادیدهگرفتهشدهترین جنبههای توسعه نرمافزار است. اغلب اوقات، یک توسعهدهنده در زمانی که پروژه تمام شده فرض میشود میگوید «اما روی سیستم من کار میکند!» و بعد متوجه میشود که پس از خروج از محیط توسعه، آنطور که انتظار میرود کار نمیکند.
تستهای واحد و یکپارچهسازی که بهخوبی نوشته شده باشند، به حل این مشکل کمک میکنند. در واقع این تستها تقریباً همیشه زمان کلی توسعه را کاهش میدهند، نه اینکه به آن اضافه کنند. علاوه بر این، کدی که بهخوبی تست شده باشد، به نگهداری کمتری نیاز دارد. همچنین محصول نهایی قطعی کمتری خواهد داشت.
این دوره بر نوشتن تستهای واحد و یکپارچهسازی در Go تمرکز دارد. Go یک زبان برنامهنویسی مدرن، type-safe، کامپایلشده و بسیار سریع است. این زبان برای ساخت وب اپلیکیشن های ایمن، مقیاسپذیر و فوقالعاده سریع بسیار مناسب است و ابزارهای تست قدرتمندی درون خود دارد.
در این دوره، مدرس 4 اپلیکیشن ساده میسازد و آنها را بهطور کامل تست میکند:
یک اپلیکیشن خط فرمان (CLI) که تلاش میکند تشخیص دهد عدد وارد شده توسط کاربر اول است یا خیر.
یک وب اپلیکیشن ساده که به کاربر اجازه میدهد وارد سیستم شود و یک عکس پروفایل آپلود کند.
یک REST API ساده که بر روی همان کد پایه وب اپلیکیشن ساخته شده است. این API به کاربران اجازه میدهد با استفاده از توکنهای JWT احراز هویت کنند و عملیاتی را روی یک دیتابیس Postgres انجام دهند. مدرس کل فرآیند احراز هویت، از جمله استفاده از توکنهای refresh را بررسی کرده و تمام بخشهای کد را بهطور کامل تست میکند.
یک اپلیکیشن تکصفحهای وب (SPA) ساده، نوشته شده با Vanilla JavaScript، که نشان میدهد چگونه از توکنهای JWT و Refresh در یک SPA استفاده کنید و چگونه آن قابلیت را تست کنید.
برای هر یک از این پروژهها، مدرس چگونگی نوشتن تستهای واحد را برای تمامی قابلیتها آموزش میدهد. شما یاد میگیرید که چگونه (علاوه بر موارد دیگر) بخشهای زیر را تست کنید:
روتهای اپلیکیشن
هندلرهای اپلیکیشن
تست چندین سناریو با نوشتن و استفاده از table tests
عملیات دیتابیس (با استفاده از الگوی Repository)
میدلور اپلیکیشن
احراز هویت کاربر (با استفاده از sessions)
احراز هویت کاربر (با توکنهای JWT)
تولید و اعتبارسنجی توکن JWT
تولید و اعتبارسنجی توکن refresh
تست ورودی کاربر
نوشتن در ترمینال
اضافه کردن کوکیها به یک درخواست
خواندن کوکیها از یک پاسخ
در پایان این دوره، شما درک کاملی از چگونگی نوشتن تستهای مؤثر و چگونگی نوشتن کدهای قابل تست خواهید داشت.
این دوره برای چه کسانی مناسب است؟
توسعهدهندگانی که با زبان Go کار میکنند و میخواهند مهارتهای تستنویسی خود را ارتقا دهند.