آموزش پی‌اچ‌پی‌یونیت - تست‌های واحد و سلنیوم برای توسعه‌دهندگان پی‌اچ‌پی - آخرین آپدیت

دانلود PHPUnit - Unit & Selenium Testing For PHP Developers

نکته: ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره:
  • توسعه محصول محور با PHP و PHPUnit با رویکرد TDD
  • یادگیری تست واحد (Unit Testing) با PHPUnit و تست پذیر کردن کد
  • استفاده از Selenium برای تست پذیرش (Acceptance Testing) در PHP
  • آشنایی با انواع تست کدنویسی: واحد، یکپارچه‌سازی، عملکردی و پذیرش
  • نوشتن کد قابل نگهداری و یافتن سریع‌تر باگ‌ها
  • صرفه‌جویی در زمان با اجرای تست‌های خودکار سریع
  • نوشتن تست‌های خودکار سریع برای برنامه‌های PHP
  • تمرین دانش PHPUnit از طریق آزمون‌ها و تمرین‌های کدنویسی
  • ساخت اپلیکیشن واقعی PHP با رویکرد TDD (توسعه محصول محور)
  • تست کلاینت‌های API با استفاده از PHPUnit و Guzzle

آیا می‌خواهید کد خود را تست کنید و برنامه‌نویس بهتری شوید؟

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

تست کدنویسی بسیار مهم است. در اینجا مهم‌ترین مزایا آورده شده است:

  • به عنوان یک توسعه‌دهنده وب، زمان خود را با تست دستی در مرورگر تلف نمی‌کنید.
  • اشتباهات کد را سریع‌تر پیدا می‌کنید.
  • علاوه بر این، با تسلط بر PHPUnit شروع به نوشتن کدی می‌کنید که قابل تست است (در دوره یاد می‌گیرید کد غیر قابل تست چیست!).
  • کد شما راحت‌تر نگهداری می‌شود، یعنی انطباق آن با تغییرات مورد نیاز آسان‌تر خواهد بود.

به طور خلاصه: اگر هنوز با PHPUnit آشنا نیستید، پس از اتمام این دوره به سادگی برنامه‌نویس PHP بهتری خواهید شد. PHPUnit یک مهارت بسیار مهم است و اگر به دنبال شغل به عنوان توسعه‌دهنده PHP هستید، این دوره شانس استخدام شما را افزایش می‌دهد.

در طول دوره، مهم‌ترین جنبه‌های PHPUnit و Selenium برای PHPUnit را با مثال‌های عملی و کدنویسی همراه بررسی خواهیم کرد، مانند assert ها، data provider ها، mock ها و موارد دیگر (برای اطلاعات بیشتر به برنامه درسی مراجعه کنید). همچنین یاد خواهید گرفت که چگونه کلاینت‌های API را تست کنید.

جذاب‌ترین بخش این دوره، ساخت یک برنامه واقعی مبتنی بر MVC در PHP و PHPUnit با رویکرد TDD - توسعه محصول محور از ابتدا است. این یک برنامه برای مدیریت دسته‌بندی‌های چندسطحی محصولات است که پیاده‌سازی آن آسان نیست. PHPUnit در اینجا بسیار مفید خواهد بود. این یک TDD جامع خواهد بود - نه تنها تست‌های واحد، بلکه ما همچنین رابط کاربری این برنامه را با استفاده از Selenium WebDriver تست خواهیم کرد. قالب HTML این برنامه که با استفاده از چارچوب Zurb Foundation ساخته شده است، برای دانلود در دسترس خواهد بود (نه به دلیل اینکه بهترین است، فقط قالب این برنامه خاص به راحتی با Zurb ساخته شد). ما بخش Backend را از ابتدا با استفاده از Slim Microframework برای PHP کدنویسی خواهیم کرد. همچنین از یک بسته عالی از Laravel به نام illuminate/database برای Laravel Eloquent ORM استفاده خواهیم کرد، که به لطف آن عملیات پایگاه داده بسیار آسان است.

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

برای هر سخنرانی که نیاز به کدنویسی دارد، منابع فایلی وجود دارد که می‌توانید دانلود کرده و کپی پیست کنید، اما تشویق می‌کنیم کد را از روی صفحه بنویسید.

قول می‌دهم که پس از اتمام این دوره PHPUnit توسعه‌دهنده PHP بهتری خواهید شد. و حتی اگر به هر دلیلی این دوره را دوست نداشته باشید، Udemy همیشه گارانتی بازگشت وجه ۳۰ روزه را ارائه می‌دهد. اما شک دارم که آن را دوست نداشته باشید. من ۱۰۰٪ مطمئن هستم که از این دوره راضی خواهید بود و کد PHP شما از این پس بهتر خواهد شد!

پیش‌نیازها:

  • PHP شی‌گرا (سطح متوسط)
  • نصب Composer
  • نصب محیط سرور (مانند Xampp)
  • اتصال به اینترنت
  • مقداری تجربه در توسعه وب PHP

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

مقدمه Introduction

  • PHPUnit چیست و چرا یادگیری آن بسیار مفید است. چگونه آن را یاد خواهید گرفت What is PHPUnit and why it is very useful thing to learn. How you will learn it

  • بیایید PHPUnit را در عمل ببینیم! Let's see PHPUnit in action!

  • ساختار دوره Course structure

  • مروری بر برنامه‌ای که با استفاده از رویکرد PHPUnit و TDD خواهیم ساخت Overview of an application that we will build using PHPUnit and TDD approach

  • چگونه حداکثر بهره را از این دوره ببریم How to benefit from these course as much as is possible

  • ویدئوها و منابع دوره چگونه به نظر می‌رسند How the course videos & resources look like

مبانی PHPUnit PHPUnit basics

  • نیازمندی‌ها و نصب PHPUnit با استفاده از ابزار Composer PHPUnit requirements and installation using Composer tool

  • خط فرمان PHPUnit PHPUnit command line

  • نوشتن اولین تست PHPUnit ما Write our first PHPUnit test

  • خروجی خطا Error output

  • TestDox - نتایج تست به سبک Agile TestDox - Agile style test results

  • رایج‌ترین ادعاها در PHPUnit Most common assertions in PHPUnit

  • رایج‌ترین حاشیه‌نویسی‌ها در PHPUnit Most common annotations in PHPUnit

  • ارائه‌دهندگان داده Data providers

  • وابستگی‌های تست Test dependencies

  • خطاها و استثناهای تست Test errors and exceptions

  • آزمون ادعاها Assertions quiz

  • تمرین کدنویسی Coding exercice

پیکربندی PHPUnit PHPUnit configuration

  • اعمال رنگ‌بندی خروجی تست کنسول و testdox به صورت خودکار Apply coloring console test output and testdox automatically

  • سازماندهی مجموعه تست با استفاده از فایل پیکربندی XML Organize test suite using XML configuration file

  • ایجاد ثابت‌های PHP در فایل پیکربندی XML Create PHP constants in XML configuration file

PHPUnit - عمیق‌تر شویم PHPUnit - dive deeper

  • تجهیزات (Fixtures) - تنظیم وضعیت اولیه قبل از تست Fixtures - setup initial state before testing

  • تست ویژگی‌های خصوصی و محافظت شده Test private & protected attributes

  • استفاده از کلاس‌های ناشناس برای شبیه‌سازی اشیاء بدون متد setter Use anonymous classes to mock objects without setter method

  • تست متدهای خصوصی و محافظت شده Test private & protected methods

  • PHPUnit با اینترفیس‌ها PHPUnit with interfaces

  • PHPUnit با کلاس‌های انتزاعی PHPUnit with abstract classes

  • تست متدهای استاتیک Test static methods

  • تست‌های ریسکی، ناقص و پرشی Risky, incomplete and skipped tests

  • ادعاهای سفارشی Custom assertions

  • تحلیل پوشش کد Code Coverage Analysis

  • نوشتن یک فایل تست معتبر PHPUnit Write a valid PHPUnit test file

  • نوشتن تست ساده PHPUnit Write simple PHPUnit test

تست مضاعف و شبیه‌سازی اشیاء واقعی - جایگزینی اشیاء واقعی برای تست Test Doubles & mocking real objects - replacing real objects for testing

  • استاب‌ها (Stubs) Stubs

  • اشیاء شبیه‌سازی شده (Mock Objects) Mock Objects

  • شبیه‌سازی 트рейت‌ها و کلاس‌های انتزاعی Mocking traits and abstract classes

  • شبیه‌سازی سرویس‌های وب Mocking web services

  • اجازه دهید کد قابل تست را تمرین کنیم Let's practice making code testable

تست پذیرش (نه فقط واحد) با PHPUnit. استفاده از Selenium Acceptance (not only unit) testing with PHPUnit. Use Selenium

  • انواع مختلف تست Different types of tests

  • نصب Selenium WebDriver و ایجاد اولین تست پذیرش در PHPUnit Install Selenium WebDriver and create first acceptance test in PHPUnit

  • دریافت عناصر در وب‌سایت‌ها با استفاده از Selenium WebDriver Getting elements on websites using Selenium WebDriver

  • کلیک بر روی لینک‌ها با استفاده از Selenium WebDriver Clicking links using Selenium WebDriver

  • تنظیم مقادیر برای ورودی‌ها و ارسال فرم‌ها با استفاده از Selenium WebDriver Setting values for inputs and sending forms using Selenium WebDriver

  • علامت‌گذاری تست خود به عنوان ناقص. کار با کوکی‌ها Mark your test as incomplete. Deal with cookies

  • ادعای محتوای تأخیردار، به عنوان مثال بارگذاری شده توسط Ajax Assert delayed content, e.g. loaded by Ajax

TDD - توسعه مبتنی بر تست با PHPUnit و Selenium TDD - test driven development with PHPUnit & Selenium

  • چرخه TDD - تست، کد، بازسازی TDD cycle - test, code, refactor

  • آموزش فشرده چارچوب میکرو Slim PHP (اختیاری) Slim PHP micro framework crash course (OPTIONAL)

  • چیدمان HTML برای برنامه مثال ما با استفاده از چارچوب Zurb Foundation HTML layout for our example app using Zurb Foundation framework

  • نصب و پیکربندی درایور وب PHPUnit و Selenium Install and configure PHPUnit & Selenium Web Driver

  • تست رشته‌های صحیح در صفحه اصلی Test proper strings on the main page

  • تست کادر تأیید هنگام تلاش برای حذف یک دسته Test confirmation box when trying to delete a category

  • ادعای وجود لینک‌ها برای ویرایش و حذف یک دسته Assert existing links to edit and delete a category

  • کلیک بر روی لینک ویرایش و مشاهده موارد صحیح برای آن در وب‌سایت Click edit link and see proper stuff for this on the website

  • تست اعتبار سنجی فرم HTML Test validation of the html form

  • تست نمایش دسته‌ها در منو Test visibility of categories in the menu

  • تبدیل نتیجه پایگاه داده به آرایه تو در توی PHP - قسمت ۱ Convert database result into nested PHP array - part 1

  • تبدیل نتیجه پایگاه داده به آرایه تو در توی PHP - قسمت ۲ Convert database result into nested PHP array - part 2

  • بازسازی کدی که برای تست تبدیل نتیجه پایگاه داده استفاده می‌شود Refactor the code used for testing conversion of database result

  • تبدیل آرایه PHP به لیست تو در توی HTML - قسمت ۱ Convert PHP array into HTML nested list - part 1

  • تبدیل آرایه PHP به لیست تو در توی HTML - قسمت ۲ Convert PHP array into HTML nested list - part 2

  • نصب Laravel Eloquent ORM برای مدیریت عملیات پایگاه داده Install Laravel Eloquent ORM to manage database operations

  • استفاده از مدل‌های Laravel برای تعامل با پایگاه داده Use Laravel models to interact with the database

  • نمایش پویا دسته‌ها از پایگاه داده Display categories dynamically from the database

  • فعال کردن افزودن دسته‌های فرزند به مدل Laravel Category Enable adding child categories to the Laravel Category Model

  • تبدیل آرایه دسته‌ها از پایگاه داده به لیست تو در توی ul li HTML Convert categories array from database to html nested ul li list

  • بهبود تست‌های ما Improve our tests

  • حذف دسته والد و فرزندان آن Delete parent category and its children

  • نمایش پویا دسته انتخاب شده Show chosen category dynamically

  • درک ۴ نوع تست Understand 4 types of tests

  • ایجاد پویا مقادیر ورودی هنگام ویرایش یک دسته Make input values dynamic when a category is edited

  • نمایش پویا دسته‌ها برای لیست select HTML Show categories for html select list dynamically

  • تست دسته والد صحیح برای دسته ویرایش شده Test correct parent category for edited one

  • تست ویرایش دسته Test editing category

  • تست افزودن یک دسته جدید Test adding a new category

  • افزودن تغییر مسیر به برخی عملیات Add redirection to some actions

  • فعالیت تمرینی - بازسازی کد Practice activity - refactor the code

  • فعالیت تمرینی - این برنامه را دوباره با چارچوب خود یا در PHP ساده بسازید Practice activity - build this app again with your framework or in plain PHP

  • چالش توسعه مبتنی بر تست (TDD) Test driven development (TDD) challenge

تست APIهای REST با PHPUnit، Guzzle و Json Server Testing REST API's with PHPUnit, Guzzle & Json Server

  • نصب PHPUnit و کلاینت HTTP Guzzle PHP Install PHPUnit and Guzzle PHP HTTP client

  • تست API زنده - توصیه نمی‌شود Testing live api - not recommended

  • آماده شدن برای تست صحیح - بازسازی کد Prepare for right testing - refactor the code

  • شبیه‌سازی پاسخ‌های API برای تست درخواست‌های خواندن Mock api responses to test read requests

  • نصب Json Server و تست درخواست GET API Install Json Server and test GET api request

  • تست درخواست‌های POST و DELETE Test POST and DELETE requests

  • تست درخواست‌های PATCH و PUT Test PATCH and PUT requests

  • دانش خود را بررسی کنید Check your knowledge

نمایش نظرات

آموزش پی‌اچ‌پی‌یونیت - تست‌های واحد و سلنیوم برای توسعه‌دهندگان پی‌اچ‌پی
جزییات دوره
10.5 hours
78
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
1,233
4.3 از 5
دارد
دارد
دارد
Robert Apollo
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Robert Apollo Robert Apollo

دوره های کامل توسعه وب