آموزش تست واحد PHP با PHPUnit

PHP Unit Testing with PHPUnit

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

اگر شما یک توسعه دهنده PHP هستید و می خواهید یاد بگیرید که چگونه کد بهتری بنویسید و باگ های کمتری داشته باشید، باید بدانید که چگونه تست های واحد بنویسید.

نحوه تست واحد کد PHP خود را با استفاده از چارچوب تست PHPUnit بیاموزید.

  • آزمون های واحد را بیاموزید

  • با نحوه نوشتن تست های واحد با استفاده از PHPUnit آشنا شوید

  • یک مجموعه آزمایشی برای توابع و کلاس‌های PHP بسازید

  • روش های آزمایش را به یکدیگر وابسته کنید

  • از دوبل های آزمایشی استفاده کنید: تمسخر و خرد، از جمله نحوه استفاده از تمسخر

  • بیاموزید که چگونه و چرا باید از تزریق وابستگی استفاده کنید

  • آموزش توسعه مبتنی بر آزمایش (TDD)

  • با نحوه آزمایش روش‌ها و ویژگی‌های محافظت شده و خصوصی (و اینکه آیا واقعاً باید یا نه!) بیاموزید.

  • با نحوه آزمایش کلاس های انتزاعی آشنا شوید

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

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

بسیاری از توسعه دهندگان با تجربه برای کد خود تست واحد می نویسند. این یک روش تکرارپذیر برای بررسی این است که آیا کد آنطور که در نظر گرفته شده است کار می کند، و همچنین به عنوان سند عمل می کند. بسیاری از پروژه‌های محبوب PHP مانند WordPress و Moodle مورد آزمایش واحد قرار می‌گیرند، و اگر از چارچوب‌هایی مانند Laravel یا Symfony استفاده می‌کنید، اینها یکپارچه‌سازی دقیق با چارچوب آزمایشی PHPUnit ارائه می‌کنند.

محتوا و نمای کلی

در حال حاضر چگونه کد خود را آزمایش می کنید؟ شاید شما کد خود را در مرورگر اجرا می کنید، از var_dump زیاد استفاده می کنید و غیره. مشکل این است که شما فقط تمایل به آزمایش کد جدید دارید - به عقب برنمی‌گردید و کدهای قدیمی را آزمایش نمی‌کنید. اگر کد جدیدی اضافه کنید که کد قدیمی را خراب کند، چه؟

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

تست‌ها نیز مانند نظرات، نوعی سند هستند: آنها نشان می‌دهند که چرا کد به این شکل نوشته شده است.

  • مناسب برای همه برنامه‌نویسان PHP، با یادگیری اصول اولیه تست واحد کد PHP، از جمله نحوه استفاده از ادعاها شروع می‌کنید.

  • سپس یاد خواهید گرفت که چگونه توابع و کلاس‌ها را آزمایش کنید و چگونه چارچوب PHPUnit را پیکربندی کنید.

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

  • همچنین خواهید دید که دوبل های آزمایشی چگونه کار می کنند - اشیاء ساختگی و روش های خرد .

  • سپس یاد خواهید گرفت که چگونه با استفاده از توسعه مبتنی بر آزمایش کد بنویسید - ابتدا تست ها را بنویسید، سپس کد را.

  • همچنین خواهید آموخت که چگونه روش‌ها و ویژگی‌های کلاس محافظت شده و خصوصی را آزمایش کنید و اینکه آیا این واقعاً ایده خوبی است یا خیر.

  • آزمایش روش‌های استاتیک به تفصیل پوشش داده شده است، از جمله چندین روش برای مقابله با وابستگی‌های استاتیک.

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

با تمام کدهای نشان داده شده در سخنرانی‌ها تکمیل کنید، می‌توانید در کنار مربی کار کنید و پس از پایان دوره، گواهی پایان دوره قابل تأیید دریافت خواهید کرد.

همچنین، همیشه در طول دوره، به مربی در بخش Q A دسترسی دارید تا در مورد هر موضوع مرتبط با دوره کمک بخواهید.

اکنون ثبت نام کنید و تست واحد را به مجموعه مهارت های PHP خود اضافه کنید!


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

معرفی و راه اندازی پروژه Introduction and project setup

  • معرفی Introduction

  • نصب PHP و Composer (ویندوز) Install PHP and Composer (Windows)

  • نصب PHP و Composer (macOS) Install PHP and Composer (macOS)

  • PHP و Composer (لینوکس) را نصب کنید Install PHP and Composer (Linux)

  • یک پوشه پروژه ایجاد کنید و PHPUnit را نصب کنید Create a project folder and install PHPUnit

تست واحد با PHPUnit: اصول اولیه Unit testing with PHPUnit: the basics

  • اولین آزمون خود را بنویسید و اجرا کنید: مقدمه ای بر ادعاها Write and run your first test: an introduction to assertions

  • تست یک تابع: با استفاده از چند ادعا Test a function: using multiple assertions

  • تست کنید که نتایج نادرست برگردانده نمی شود: با استفاده از روش های آزمایشی متعدد Test that incorrect results are not returned: using multiple test methods

  • تست یک کلاس: رفع اشکال از طریق آزمایش Test a class: fixing bugs through testing

  • نحوه نامگذاری روش های آزمایشی How to name your test methods

  • تست واحد با PHPUnit: اصول اولیه Unit testing with PHPUnit: the basics

  • اولین روش تست PHPUnit خود را بنویسید Write your first PHPUnit test method

پیکربندی محیط تست PHPUnit Configuring the PHPUnit test environment

  • PHPUnit test runner: گزینه های مختلف را هنگام اجرای تست ها مشخص کنید The PHPUnit test runner: specify different options when running tests

  • پیکربندی PHPUnit: فایل پیکربندی XML Configure PHPUnit: the XML configuration file

  • کلاس های بارگذاری خودکار با استفاده از Composer آزمایش می شوند Autoload classes being tested using Composer

  • پیکربندی محیط تست PHPUnit Configuring the PHPUnit test environment

وابستگی ها، وسایل و استثنائات را تست کنید Test dependencies, fixtures and exceptions

  • تست واحد یک کلاس صف Unit test a queue class

  • وابستگی های تست: یک روش تست را به دیگری وابسته کنید Test dependencies: make one test method dependent on another

  • وسایل: وضعیت شناخته شده تست ها را با استفاده از setUp و tearDown تنظیم کنید Fixtures: set up the known state of the tests using setUp and tearDown

  • به راحتی یک روش آزمایشی جدید با استفاده از دستگاه تست اضافه کنید Easily add a new test method using the test fixture

  • به اشتراک گذاری وسایل بین تست ها برای داده های پرمصرف منابع Share fixtures between tests for resource-intensive data

  • تست استثناها: انتظار می رود کد یک استثنا ایجاد کند Testing exceptions: expecting code to throw an exception

  • وابستگی ها، وسایل و استثنائات را تست کنید Test dependencies, fixtures and exceptions

  • وسایل تست Test fixtures

تست دوبل: تمسخر و خرد Test doubles: mocks and stubs

  • دو برابر تست: ایجاد اشیاء ساختگی برای حذف وابستگی به منابع خارجی Test doubles: create mock objects to remove dependencies on external resources

  • تزریق وابستگی: اشیایی را تزریق می کند که یک کلاس به آنها وابسته است Dependency injection: inject objects that a class depends on

  • تست تعاملات شی: بررسی نحوه استفاده از یک وابستگی Test object interactions: verify how a dependency is used

  • ایجاد شیء ساختگی را سفارشی کنید: متد getMockBuilder Customise the creation of the mock object: the getMockBuilder method

  • تست دوبل: تمسخر و خرد Test doubles: mocks and stubs

تمسخر - یک چارچوب تمسخر آمیز جایگزین با یک نحو قابل خواندن برای انسان Mockery - an alternative mocking framework with a human-readable syntax

  • وابستگی را مسخره کنید که هنوز وجود ندارد Mock a dependency that doesn't exist yet

  • استفاده از Mockery: نصب و ادغام با PHPUnit Using Mockery: installation and integration with PHPUnit

  • استفاده از تمسخر برای تمسخر وابستگی که هنوز وجود ندارد Using Mockery to mock a dependency that doesn't exist yet

  • PHPUnit vs Mockery: برگرداندن مقادیر مختلف در فراخوانی متدهای بعدی PHPUnit vs Mockery: Returning different values on subsequent method calls

  • جاسوسان تمسخر آمیز: در یک تماس بعد از رویداد اظهار نظر کنید Mockery Spies: Make assertions on a call after the event

توسعه آزمایش محور Test-driven development

  • توسعه آزمایش محور: راه اندازی یک پروژه TDD Test-driven development: set up a TDD project

  • ابتدا تست را بنویسید سپس کد را بنویسید تا موفق شود Write the test first, then write the code to make it pass

  • کد کافی برای قبولی در آزمون بنویسید Write just enough code to make the test pass

  • تست ها و کد Refactor را اضافه کنید تا زمانی که تست ها قبول شوند Add tests and refactor code until the tests pass

  • تست های بیشتر و عملکرد کد برنامه را اضافه کنید Add more tests and application code functionality

  • یک آزمایش دیگر، عملکرد بیشتر، و بازسازی بیشتر Another test, more functionality, and more refactoring

  • ارائه دهندگان داده: یک روش آزمایشی را با مجموعه ای از داده ها ارائه دهید Data providers: provide a test method with a collection of data

آزمایش روش ها و ویژگی های غیر عمومی و کلاس های انتزاعی Testing non-public methods and properties and abstract classes

  • آزمایش روش های غیر عمومی Testing non-public methods

  • آزمایش روش های محافظت شده با استفاده از وراثت Testing protected methods using inheritance

  • آزمایش روش های خصوصی با استفاده از بازتاب Testing private methods using reflection

  • آزمایش روش های خصوصی با آرگومان ها با استفاده از بازتاب Testing private methods with arguments using reflection

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

  • تست کلاس های انتزاعی Testing abstract classes

تست روش های استاتیک Testing static methods

  • تست روش های استاتیک Testing static methods

  • مشکل روش های ایستا: وابستگی ها و تمسخر The problem with static methods: dependencies and mocking

  • گزینه 1: کد Refactor برای حذف روش استاتیک Option 1: Refactor code to remove the static method

  • گزینه 2: وابستگی را به عنوان فراخوانی منتقل کنید Option 2: Pass the dependency as a callable

  • گزینه 3: از mockery alias mocks برای حذف فراخوانی متد استاتیک استفاده کنید Option 3: Use Mockery alias mocks to stub the static method call

نتیجه Conclusion

  • نتیجه Conclusion

  • سخنرانی پاداش: تخفیف میزبانی پی اچ پی Bonus Lecture: discount PHP hosting

نمایش نظرات

Udemy (یودمی)

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

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

آموزش تست واحد PHP با PHPUnit
جزییات دوره
2.5 hours
48
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
8,194
4.6 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Dave Hollingworth Dave Hollingworth

مربی فناوری اطلاعات