آموزش مقدمه ای بر تست در گو (گلانگ)

Introduction to Testing in Go (Golang)

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
توضیحات دوره: نحوه نوشتن تست های واحد و یکپارچه سازی موثر در Go را بیاموزید، برای برنامه های کاربردی وب و API های REST نحوه نوشتن تست های واحد در Go یاد بگیرید چگونه تست های یکپارچه سازی را در Go بنویسید و آنها را با استفاده از Docker ساده کنید. برای ایجاد یک برنامه وب ساده و کنترل‌کننده‌های آزمایش، میان‌افزار، پایگاه داده و موارد دیگر یاد بگیرید چگونه یک REST API ساده در Go ایجاد کنید و نقاط پایانی آن را آزمایش کنید. نوشتن تست هایی که سناریوهای متعدد را با تست های جدول پوشش می دهد پیش نیازها: درک اولیه استفاده از زبان برنامه نویسی Go

نوشتن تست‌های واحد و تست‌های یکپارچه‌سازی یکی از جنبه‌های نادیده گرفته شده توسعه نرم‌افزار است. اغلب اوقات، یک توسعه‌دهنده متوجه می‌شود که می‌گوید "اما روی کامپیوتر من کار می‌کند!" وقتی یک پروژه فرض می‌شود که تمام شده است، فقط متوجه می‌شویم که پس از خارج شدن از محیط توسعه، همه چیز آنطور که انتظار می‌رود کار نمی‌کند.

تست‌های واحد و تست‌های ادغام به خوبی نوشته شده به حل این مشکل کمک می‌کنند و در واقع تقریباً بدون استثنا زمان کلی توسعه را به جای اضافه کردن به آن کاهش می‌دهند. علاوه بر این، کدهایی که به خوبی آزمایش شده اند تقریباً همیشه نیاز به تعمیر و نگهداری کمتری دارند و محصول نهایی زمان کمتری از کار خواهد داشت.

این دوره بر روی نوشتن تست های واحد و یکپارچه سازی در Go متمرکز است، یک زبان برنامه نویسی مدرن، تایپ ایمن، کامپایل شده و بسیار سریع. این برای ساخت برنامه‌های کاربردی وب ایمن، مقیاس‌پذیر و فوق‌العاده سریع مناسب است و ابزارهای تست قدرتمندی دارد که دقیقاً در آن تعبیه شده است.

در این دوره، ما چهار برنامه کاربردی ساده می سازیم و آنها را به طور کامل آزمایش می کنیم:

  • یک برنامه کاربردی خط فرمان (CLI) که سعی می‌کند تعیین کند آیا یک عدد وارد شده توسط کاربر اول است یا خیر؛

  • یک برنامه وب ساده که به کاربر اجازه می دهد وارد سیستم شود و عکس نمایه خود را آپلود کند؛

  • یک REST API ساده که بر اساس همان پایه کد برنامه وب ساخته شده است که به کاربران امکان می دهد با استفاده از توکن های JWT احراز هویت کنند و عملیاتی را در برابر پایگاه داده Postgres انجام دهند. ما تمام مراحل احراز هویت، از جمله استفاده از نشانه‌های تازه‌سازی را طی می‌کنیم و همه جنبه‌های کد را به‌طور کامل آزمایش می‌کنیم.

  • یک برنامه وب ساده یک صفحه (SPA)، نوشته شده در جاوا اسکریپت Vanilla، که نحوه استفاده از JWT و Refresh Tokens را با SPA، و نحوه آزمایش این عملکرد را نشان می دهد.

برای هر یک از این پروژه‌ها، نحوه نوشتن تست‌های واحد برای همه عملکردها را یاد خواهیم گرفت. ما یاد خواهیم گرفت که چگونه آزمایش کنیم (از جمله موارد دیگر):

  • مسیرهای برنامه

  • کاربران برنامه

  • نحوه آزمایش چندین سناریو با نوشتن و استفاده از آزمون‌های جدول

  • عملیات پایگاه داده (با استفاده از الگوی مخزن)

  • میان افزار برنامه

  • تأیید هویت کاربر (با جلسات)

  • احراز هویت کاربر (با نشانه های JWT)

  • تولید و اعتبارسنجی رمز JWT

  • تولید و اعتبار سنجی رمز را بازخوانی کنید

  • آزمایش ورودی کاربر

  • نوشتن به ترمینال

  • افزودن کوکی ها به درخواست

  • خواندن کوکی‌ها از یک پاسخ

در پایان این دوره، درک کاملی از نحوه نوشتن تست‌های موثر و نحوه نوشتن کد قابل آزمایش خواهید داشت.


سرفصل ها و درس ها

معرفی Introduction

  • معرفی Introduction

  • درمورد من About me

  • درخواست کمک Asking for help

  • اشتباهات: همه ما مرتکبشان می شویم. Mistakes: we all make them.

معرفی Introduction

  • معرفی Introduction

  • درمورد من About me

  • درخواست کمک Asking for help

  • اشتباهات: همه ما مرتکبشان می شویم. Mistakes: we all make them.

راه اندازی محیط توسعه ما Setting up our Development Environment

  • آنچه در این بخش به آن خواهیم پرداخت What we'll cover in this section

  • در حال نصب Go Installing Go

  • نصب IDE Installing an IDE

  • نصب Docker Installing Docker

راه اندازی محیط توسعه ما Setting up our Development Environment

  • آنچه در این بخش به آن خواهیم پرداخت What we'll cover in this section

  • در حال نصب Go Installing Go

  • نصب IDE Installing an IDE

  • نصب Docker Installing Docker

تست ساده Simple Testing

  • آنچه در این بخش به آن خواهیم پرداخت What we'll cover in this section

  • ایجاد یک برنامه کاربردی خط فرمان ساده Creating a simple command line application

  • نوشتن تست برای تابع isPrime(). Writing a test for the isPrime() function

  • بهبود تست ما با تست های جدول Improving our test with table tests

  • بررسی پوشش تست Checking test coverage

  • در حال تکمیل تست های جدول ما Completing our table tests

  • بهبود برنامه ما برای اجازه دادن به اطلاعات وارد شده توسط کاربر Improving our program to allow for user entered information

  • نوشتن تست برای تابع prompt(). Writing a test for the prompt() function

  • نوشتن تست برای تابع intro(). Writing a test for the intro() function

  • تست ورودی کاربر - نوشتن یک تست برای تابع checkNumbers(). Testing user input - writing a test for the checkNumbers() function

  • به‌روزرسانی readUserInput برای آزمایش‌پذیر کردن آن و سپس آزمایش آن Updating readUserInput to make it testable, and then testing it

تست ساده Simple Testing

  • آنچه در این بخش به آن خواهیم پرداخت What we'll cover in this section

  • ایجاد یک برنامه کاربردی خط فرمان ساده Creating a simple command line application

  • نوشتن تست برای تابع isPrime(). Writing a test for the isPrime() function

  • بهبود تست ما با تست های جدول Improving our test with table tests

  • بررسی پوشش تست Checking test coverage

  • در حال تکمیل تست های جدول ما Completing our table tests

  • بهبود برنامه ما برای اجازه دادن به اطلاعات وارد شده توسط کاربر Improving our program to allow for user entered information

  • نوشتن تست برای تابع prompt(). Writing a test for the prompt() function

  • نوشتن تست برای تابع intro(). Writing a test for the intro() function

  • تست ورودی کاربر - نوشتن یک تست برای تابع checkNumbers(). Testing user input - writing a test for the checkNumbers() function

  • به‌روزرسانی readUserInput برای آزمایش‌پذیر کردن آن و سپس آزمایش آن Updating readUserInput to make it testable, and then testing it

یک کنار: اجرای تست های فردی و مجموعه های تست An Aside: Running individual tests & Test Suites

  • آنچه در این بخش به آن خواهیم پرداخت What we'll cover in this section

  • اجرای یک آزمون Running a single test

  • اجرای گروه های تست (مجموعه تست) Running groups of tests (test suites)

یک کنار: اجرای تست های فردی و مجموعه های تست An Aside: Running individual tests & Test Suites

  • آنچه در این بخش به آن خواهیم پرداخت What we'll cover in this section

  • اجرای یک آزمون Running a single test

  • اجرای گروه های تست (مجموعه تست) Running groups of tests (test suites)

تست برنامه های کاربردی وب Testing Web Applications

  • آنچه در این بخش به آن خواهیم پرداخت What we'll cover in this section

  • ایجاد یک برنامه وب ساده Creating a simple web app

  • تنظیم مسیر و کنترلر برای صفحه اصلی Setting up a route and handler for the home page

  • تست مسیرهای برنامه ما Testing our application routes

  • کنترل کننده های تست: کنترل کننده خانه Testing Handlers: the Home handler

  • راه اندازی چند میان افزار ساده Setting up some simple middleware

  • در حال آزمایش میان افزار جدید addIPToContext ما Trying out our new addIPToContext middleware

  • تست میان افزار ما Testing our middleware

  • تست ipFromContext Testing ipFromContext

  • ایجاد فرم ورود Creating a login form

  • تنظیم مسیر و کنترل کننده خرد برای فرم ورود Setting up a route and stub handler for the login form

تست برنامه های کاربردی وب Testing Web Applications

  • آنچه در این بخش به آن خواهیم پرداخت What we'll cover in this section

  • ایجاد یک برنامه وب ساده Creating a simple web app

  • تنظیم مسیر و کنترلر برای صفحه اصلی Setting up a route and handler for the home page

  • تست مسیرهای برنامه ما Testing our application routes

  • کنترل کننده های تست: کنترل کننده خانه Testing Handlers: the Home handler

  • راه اندازی چند میان افزار ساده Setting up some simple middleware

  • در حال آزمایش میان افزار جدید addIPToContext ما Trying out our new addIPToContext middleware

  • تست میان افزار ما Testing our middleware

  • تست ipFromContext Testing ipFromContext

  • ایجاد فرم ورود Creating a login form

  • تنظیم مسیر و کنترل کننده خرد برای فرم ورود Setting up a route and stub handler for the login form

تست اعتبار سنجی Testing Validation

  • آنچه در این بخش به آن خواهیم پرداخت What we'll cover in this section

  • راه اندازی منطق اعتبارسنجی Setting up validation logic

  • تست منطق اعتبارسنجی Testing validation logic

  • تکمیل تست‌های منطق اعتبارسنجی ما Completing the tests for our validation logic

  • در حال آزمایش اعتبار با فرم ورود ما Trying out validation with our login form

تست اعتبار سنجی Testing Validation

  • آنچه در این بخش به آن خواهیم پرداخت What we'll cover in this section

  • راه اندازی منطق اعتبارسنجی Setting up validation logic

  • تست منطق اعتبارسنجی Testing validation logic

  • تکمیل تست‌های منطق اعتبارسنجی ما Completing the tests for our validation logic

  • در حال آزمایش اعتبار با فرم ورود ما Trying out validation with our login form

جلسات تست Testing Sessions

  • آنچه در این بخش به آن خواهیم پرداخت What we'll cover in this section

  • راه اندازی محیط آزمون با تست.م Setting up a test enviroment with testing.M

  • ساده سازی قالب های ما با استفاده از یک طرح Simplifying our templates using a layout

  • نصب بسته جلسات Installing a sessions package

  • افزودن جلسه به پیکربندی برنامه و ایجاد SessionManager Adding session to App config, and creating a SessionManager

  • در حال امتحان کردن جلسات ما Trying out our sessions

  • در حال به روز رسانی تست های ما Updating our tests

  • در حال بهبود تست ما برای Home handler Improving our test for the Home handler

  • تست عملکرد رندر با یک الگوی بد Testing the render function with a bad template

جلسات تست Testing Sessions

  • آنچه در این بخش به آن خواهیم پرداخت What we'll cover in this section

  • راه اندازی محیط آزمون با تست.م Setting up a test enviroment with testing.M

  • ساده سازی قالب های ما با استفاده از یک طرح Simplifying our templates using a layout

  • نصب بسته جلسات Installing a sessions package

  • افزودن جلسه به پیکربندی برنامه و ایجاد SessionManager Adding session to App config, and creating a SessionManager

  • در حال امتحان کردن جلسات ما Trying out our sessions

  • در حال به روز رسانی تست های ما Updating our tests

  • در حال بهبود تست ما برای Home handler Improving our test for the Home handler

  • تست عملکرد رندر با یک الگوی بد Testing the render function with a bad template

تست کنترل کننده های POST Testing POST handlers

  • آنچه در این بخش به آن خواهیم پرداخت What we'll cover in this section

  • نصب postgres با داکر Installing postgres with Docker

  • راه اندازی اتصال پایگاه داده Setting up a database connection

  • افزودن بسته داده برای مدل ها و بسته db برای دسترسی به پایگاه داده Adding the data package for models and db package for database access

  • اطمینان حاصل کنیم که برنامه وب ما می تواند به پایگاه داده ما متصل شود Making sure our web app can connect to our database

  • بسته شدن مجموعه پایگاه داده ما با ظرافت، و بازنشانی مسیر الگو در تست ها Closing our database pool gracefully, and resetting template path in tests

  • ایجاد یک صفحه نمایه خرد Creating a stub profile page

  • افزودن پیام به داده‌های الگو و فایل‌های الگو Adding messages to our template data and template files

  • افزودن احراز هویت واقعی به کنترل کننده ورود Adding true authenication to the Login handler

  • تست کنترل کننده ورود Testing the Login handler

  • افزودن میان افزار Auth Adding Auth middleware

  • تست میان افزار Auth Testing Auth middleware

  • به‌روزرسانی مسیرها و آزمایش‌های سرتاسر Updating routes & end-to-end tests

  • مشکلات مربوط به تست کنترل کننده ورود ما Problems with our Login handler test

تست کنترل کننده های POST Testing POST handlers

  • آنچه در این بخش به آن خواهیم پرداخت What we'll cover in this section

  • نصب postgres با داکر Installing postgres with Docker

  • راه اندازی اتصال پایگاه داده Setting up a database connection

  • افزودن بسته داده برای مدل ها و بسته db برای دسترسی به پایگاه داده Adding the data package for models and db package for database access

  • اطمینان حاصل کنیم که برنامه وب ما می تواند به پایگاه داده ما متصل شود Making sure our web app can connect to our database

  • بسته شدن مجموعه پایگاه داده ما با ظرافت، و بازنشانی مسیر الگو در تست ها Closing our database pool gracefully, and resetting template path in tests

  • ایجاد یک صفحه نمایه خرد Creating a stub profile page

  • افزودن پیام به داده‌های الگو و فایل‌های الگو Adding messages to our template data and template files

  • افزودن احراز هویت واقعی به کنترل کننده ورود Adding true authenication to the Login handler

  • تست کنترل کننده ورود Testing the Login handler

  • افزودن میان افزار Auth Adding Auth middleware

  • تست میان افزار Auth Testing Auth middleware

  • به‌روزرسانی مسیرها و آزمایش‌های سرتاسر Updating routes & end-to-end tests

  • مشکلات مربوط به تست کنترل کننده ورود ما Problems with our Login handler test

الگوی مخزن The Repository Pattern

  • آنچه در این بخش به آن خواهیم پرداخت What we'll cover in this section

  • تعریف یک نوع رابط برای مخزن ما Defining an interface type for our repository

  • انتقال توابع پایگاه داده ما به یک مخزن Moving our database functions into a repository

  • به روز رسانی پیکربندی برنامه برای استفاده از مخزن پایگاه داده Updating application config to use the database repository

  • ایجاد یک مخزن testdb Creating a testdb repository

  • در حال به روز رسانی setup_test.go برای استفاده از مخزن تست Updating setup_test.go to use the test repository

  • در حال به روز رسانی تست های ما برای استفاده از مخزن testdb Updating our tests to use the testdb repository

الگوی مخزن The Repository Pattern

  • آنچه در این بخش به آن خواهیم پرداخت What we'll cover in this section

  • تعریف یک نوع رابط برای مخزن ما Defining an interface type for our repository

  • انتقال توابع پایگاه داده ما به یک مخزن Moving our database functions into a repository

  • به روز رسانی پیکربندی برنامه برای استفاده از مخزن پایگاه داده Updating application config to use the database repository

  • ایجاد یک مخزن testdb Creating a testdb repository

  • در حال به روز رسانی setup_test.go برای استفاده از مخزن تست Updating setup_test.go to use the test repository

  • در حال به روز رسانی تست های ما برای استفاده از مخزن testdb Updating our tests to use the testdb repository

تست پایگاه داده با تست های یکپارچه سازی Testing the database with Integration tests

  • آنچه در این بخش به آن خواهیم پرداخت What we'll cover in this section

  • شروع با آزمایش پایگاه داده ما Getting started with testing our database

  • دریافت آزمایش‌های ما برای چرخاندن یک تصویر داکر با Postgres Getting our tests to spin up a docker image with Postgres

  • پر کردن پایگاه داده آزمایشی ما با جداول خالی Populating our test database with empty tables

  • تست InsertUser Testing InsertUser

  • تست AllUsers Testing AllUsers

  • تست GetUser و GetUserByEmail Testing GetUser and GetUserByEmail

  • تست UpdateUser Testing UpdateUser

  • تست DeleteUser Testing DeleteUser

  • تست ResetUserPassword Testing ResetUserPassword

  • تست InsertUserImage Testing InsertUserImage

  • استفاده از تگ های ساخت برای جداسازی تست های ادغام ما Using build tags to separate our integration tests

تست پایگاه داده با تست های یکپارچه سازی Testing the database with Integration tests

  • آنچه در این بخش به آن خواهیم پرداخت What we'll cover in this section

  • شروع با آزمایش پایگاه داده ما Getting started with testing our database

  • دریافت آزمایش‌های ما برای چرخاندن یک تصویر داکر با Postgres Getting our tests to spin up a docker image with Postgres

  • پر کردن پایگاه داده آزمایشی ما با جداول خالی Populating our test database with empty tables

  • تست InsertUser Testing InsertUser

  • تست AllUsers Testing AllUsers

  • تست GetUser و GetUserByEmail Testing GetUser and GetUserByEmail

  • تست UpdateUser Testing UpdateUser

  • تست DeleteUser Testing DeleteUser

  • تست ResetUserPassword Testing ResetUserPassword

  • تست InsertUserImage Testing InsertUserImage

  • استفاده از تگ های ساخت برای جداسازی تست های ادغام ما Using build tags to separate our integration tests

تست آپلود فایل Testing File Uploads

  • آنچه در این بخش به آن خواهیم پرداخت What we'll cover in this section

  • افزودن فرم به صفحه نمایه Adding a form to the Profile page

  • افزودن نوع UserImage به نوع User Adding the UserImage type to the User type

  • در حال به روز رسانی فایل profile.page.gohtml برای جستجوی تصویر نمایه Updating the profile.page.gohtml file to look for a profile image

  • نوشتن یک کنترل کننده خرد و یک تابع برای پردازش آپلود تصاویر نمایه Writing a stub handler and a function to process profile image uploads

  • پیاده سازی کنترل کننده UploadProfilePic Implementing the UploadProfilePic handler

  • امتحان کردن چیزها Trying things out

  • تست آپلود تصاویر Testing image uploads

  • آزمایش کنترل کننده آپلود ما، با یک رویکرد جایگزین Testing our upload handler, with an alternative approach

تست آپلود فایل Testing File Uploads

  • آنچه در این بخش به آن خواهیم پرداخت What we'll cover in this section

  • افزودن فرم به صفحه نمایه Adding a form to the Profile page

  • افزودن نوع UserImage به نوع User Adding the UserImage type to the User type

  • در حال به روز رسانی فایل profile.page.gohtml برای جستجوی تصویر نمایه Updating the profile.page.gohtml file to look for a profile image

  • نوشتن یک کنترل کننده خرد و یک تابع برای پردازش آپلود تصاویر نمایه Writing a stub handler and a function to process profile image uploads

  • پیاده سازی کنترل کننده UploadProfilePic Implementing the UploadProfilePic handler

  • امتحان کردن چیزها Trying things out

  • تست آپلود تصاویر Testing image uploads

  • آزمایش کنترل کننده آپلود ما، با یک رویکرد جایگزین Testing our upload handler, with an alternative approach

تست API های REST Testing REST APIs

  • آنچه در این بخش به آن خواهیم پرداخت What we'll cover in this section

  • راه اندازی یک api با پایه کد موجود ما Setting up an api with our existing code base

  • اضافه کردن کنترل کننده های خرد (نقاط پایانی) برای API ما Adding stub handlers (endpoints) for our API

  • REST API ما را امتحان می کنیم تا مطمئن شویم همه چیز کار می کند Trying out our REST API to make sure things work

  • شروع کار با JWT Authentication Getting started with JWT Authentication

  • تولید جفت توکن Generating token pairs

  • پیاده سازی کنترل کننده احراز هویت Implementing the authenticate handler

  • در حال امتحان کردن کنترل کننده احراز هویت Trying out the authentication handler

  • کنترل کننده احراز هویت ما را آزمایش می کنیم Testing our authentication handler

  • راه اندازی یک برنامه ساده برای تولید نشانه ها برای آزمایش Setting up a simple program to generate tokens for testing

  • آزمایش تولید و اعتبار سنجی توکن ها Testing generating and validating tokens

  • راه اندازی میان افزار برنامه ما Setting up our application middleware

  • تست میان افزار CORS ما Testing our CORS middleware

  • تست میان افزار authRequired ما Testing our authRequired middleware

  • میان افزار را به مسیرها اضافه کنید Add middleware to routes

  • تست مسیرهای API Testing API routes

  • پیاده سازی کنترل کننده برای به روز رسانی توکن ها Implementing the handler to refresh tokens

  • تست توکن های تازه کننده Testing refreshing tokens

  • تکمیل کنترل کننده هایی که با نوع کاربر تعامل دارند Completing the handlers that interact with the User type

  • آزمایش کنترل کننده هایی که با نوع کاربر تعامل دارند Testing the handlers that interact with the User type

  • در حال تکمیل کنترل‌کننده‌های آزمایشی که با داده تعامل دارند. نوع کاربر Finishing up testing handlers that interact with the data.User type

تست API های REST Testing REST APIs

  • آنچه در این بخش به آن خواهیم پرداخت What we'll cover in this section

  • راه اندازی یک api با پایه کد موجود ما Setting up an api with our existing code base

  • اضافه کردن کنترل کننده های خرد (نقاط پایانی) برای API ما Adding stub handlers (endpoints) for our API

  • REST API ما را امتحان می کنیم تا مطمئن شویم همه چیز کار می کند Trying out our REST API to make sure things work

  • شروع کار با JWT Authentication Getting started with JWT Authentication

  • تولید جفت توکن Generating token pairs

  • پیاده سازی کنترل کننده احراز هویت Implementing the authenticate handler

  • در حال امتحان کردن کنترل کننده احراز هویت Trying out the authentication handler

  • کنترل کننده احراز هویت ما را آزمایش می کنیم Testing our authentication handler

  • راه اندازی یک برنامه ساده برای تولید نشانه ها برای آزمایش Setting up a simple program to generate tokens for testing

  • آزمایش تولید و اعتبار سنجی توکن ها Testing generating and validating tokens

  • راه اندازی میان افزار برنامه ما Setting up our application middleware

  • تست میان افزار CORS ما Testing our CORS middleware

  • تست میان افزار authRequired ما Testing our authRequired middleware

  • میان افزار را به مسیرها اضافه کنید Add middleware to routes

  • تست مسیرهای API Testing API routes

  • پیاده سازی کنترل کننده برای به روز رسانی توکن ها Implementing the handler to refresh tokens

  • تست توکن های تازه کننده Testing refreshing tokens

  • تکمیل کنترل کننده هایی که با نوع کاربر تعامل دارند Completing the handlers that interact with the User type

  • آزمایش کنترل کننده هایی که با نوع کاربر تعامل دارند Testing the handlers that interact with the User type

  • در حال تکمیل کنترل‌کننده‌های آزمایشی که با داده تعامل دارند. نوع کاربر Finishing up testing handlers that interact with the data.User type

آزمایش یک API برای یک برنامه یک صفحه (SPA) Testing an API for a Single Page Application (SPA)

  • آنچه در این بخش به آن خواهیم پرداخت What we'll cover in this section

  • ارائه HTML برای SPA ما Serving HTML for our SPA

  • احراز هویت کاربران با SPA ما Authenticating users with our SPA

  • تنظیم کوکی توکن به‌روزرسانی هنگام احراز هویت Setting a refresh token cookie when authenticating

  • به کاربران اجازه می‌دهد تا توکن‌ها را با استفاده از کوکی به‌روزرسانی کنند Allowing users to refresh tokens using a cookie

  • به‌روزرسانی خودکار نشانه‌ها در حالی که کاربر وارد شده است Automatically refreshing tokens while the user is logged in

  • گرفتن کاربر از SPA ساده ما با دکمه "دریافت کاربر". Getting a user from our simple SPA with the "Get User" button

  • خروج کاربران وب Logging web users out

  • تست توکن‌های تازه‌سازی برای برنامه‌های تک صفحه Testing refreshing tokens for Single Page Apps

  • آزمایش خروج کاربران از SPA ما Testing logging users out of our SPA

آزمایش یک API برای یک برنامه یک صفحه (SPA) Testing an API for a Single Page Application (SPA)

  • آنچه در این بخش به آن خواهیم پرداخت What we'll cover in this section

  • ارائه HTML برای SPA ما Serving HTML for our SPA

  • احراز هویت کاربران با SPA ما Authenticating users with our SPA

  • تنظیم کوکی توکن به‌روزرسانی هنگام احراز هویت Setting a refresh token cookie when authenticating

  • به کاربران اجازه می‌دهد تا توکن‌ها را با استفاده از کوکی به‌روزرسانی کنند Allowing users to refresh tokens using a cookie

  • به‌روزرسانی خودکار نشانه‌ها در حالی که کاربر وارد شده است Automatically refreshing tokens while the user is logged in

  • گرفتن کاربر از SPA ساده ما با دکمه "دریافت کاربر". Getting a user from our simple SPA with the "Get User" button

  • خروج کاربران وب Logging web users out

  • تست توکن‌های تازه‌سازی برای برنامه‌های تک صفحه Testing refreshing tokens for Single Page Apps

  • آزمایش خروج کاربران از SPA ما Testing logging users out of our SPA

نمایش نظرات

نظری ارسال نشده است.

آموزش مقدمه ای بر تست در گو (گلانگ)
خرید اشتراک و دانلود خرید تکی و دانلود | 160,000 تومان (5 روز مهلت دانلود) زمان تقریبی آماده سازی لینک دانلود این دوره آموزشی حدود 5 تا 24 ساعت می باشد.
جزییات دوره
12.5 hours
120
Udemy (یودمی) udemy-small
24 شهریور 1401 (آخرین آپدیت رو دریافت می‌کنید، حتی اگر این تاریخ بروز نباشد.)
2,569
4.9 از 5
دارد
دارد
دارد

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Udemy (یودمی)

یودمی یکی از بزرگ‌ترین پلتفرم‌های آموزشی آنلاین است که به میلیون‌ها کاربر در سراسر جهان امکان دسترسی به دوره‌های متنوع و کاربردی را فراهم می‌کند. این پلتفرم امکان آموزش در زمینه‌های مختلف از فناوری اطلاعات و برنامه‌نویسی گرفته تا زبان‌های خارجی، مدیریت، و هنر را به کاربران ارائه می‌دهد. با استفاده از یودمی، کاربران می‌توانند به صورت انعطاف‌پذیر و بهینه، مهارت‌های جدیدی را یاد بگیرند و خود را برای بازار کار آماده کنند.

یکی از ویژگی‌های برجسته یودمی، کیفیت بالای دوره‌ها و حضور استادان مجرب و با تجربه در هر حوزه است. این امر به کاربران اعتماد می‌دهد که در حال دریافت آموزش از منابع قابل اعتماد و معتبر هستند و می‌توانند به بهترین شکل ممکن از آموزش‌ها بهره ببرند. به طور خلاصه، یودمی به عنوان یکی از معتبرترین و موثرترین پلتفرم‌های آموزشی آنلاین، به افراد امکان می‌دهد تا به راحتی و با کیفیت، مهارت‌های مورد نیاز خود را ارتقا دهند و به دنبال رشد و پیشرفت شغلی خود باشند.