- شنبه 2 آبان 1405 ساعت 14:00
- 3.1.9
- کامل شده
- منقضی شده
Unit Testing Class ابزار سادهای برای اجرای آزمونهای کوچک در CodeIgniter 3 است. میتوانید مقدار واقعی را با مقدار مورد انتظار مقایسه کنید، نتیجه را نامگذاری کنید و گزارش آزمونها را به شکل HTML یا آرایه دریافت کنید.
ساختار و API اصلی
run() مقدار واقعی، مقدار مورد انتظار، نام آزمون و نوع مقایسه را دریافت میکند. report() گزارش خوانا تولید میکند و result() داده ساختیافته نتایج را برمیگرداند. این کلاس برای آزمونهای پایه مناسب است و میتوانید در پروژههای بزرگ از PHPUnit نیز استفاده کنید.
نمونه استفاده
$this->load->library('unit_test');
$actual = 2 + 2;
$expected = 4;
$this->unit->run($actual, $expected, 'جمع ساده');
echo $this->unit->report();نکته مهم
آزمون باید نتیجه قابل تکرار داشته باشد. برای تست دیتابیس و سرویسهای خارجی از داده آزمایشی و محیط جداگانه استفاده کنید.
مطالعه مرتبط
برای ادامه مطالعه، MVC، کوئری، ترنزکشن را ببینید.
ساخت آزمون و گزارش
| متد یا مفهوم | کاربرد |
|---|---|
run($test, $expected) | اجرای یک آزمون مقایسهای. |
report() | تولید گزارش خوانا. |
result() | دریافت نتایج به شکل آرایه. |
strict comparison | مقایسه سختگیرانه نوع و مقدار. |
test name | نامگذاری آزمون برای گزارش دقیقتر. |
نحوه استفاده و عیبیابی
در یک Controller ابتدا Library را با Loader بارگذاری کنید، سپس تنظیمات محیطی را به آن بدهید و عملیات را اجرا کنید. نتیجه را از مسیر مشخص دریافت کنید و در صورت شکست، پیام خطا را در Log ثبت کنید. اگر Library به Driver خارجی وابسته است، وجود افزونه PHP یا برنامه موردنیاز را روی سرور بررسی کنید.
در محیط توسعه، مسیر موفق و مسیر خطا را جداگانه آزمایش کنید. ورودی خالی، مقدار نامعتبر، فایل بزرگ، Timeout سرویس خارجی و نبود مجوز نوشتن از سناریوهایی هستند که باید بررسی شوند. منابعی مانند اتصال شبکه و فایلهای موقت را پس از پایان عملیات آزاد کنید.
در بازبینی کد، ترتیب و نتیجه متدهای run($test, $expected)، report()، result()، strict comparison را بررسی کنید. نام متد بهتنهایی تضمین نمیکند ورودی معتبر یا خروجی امن باشد، بنابراین رفتار هر متد را با تست و مستندات همان نسخه کنترل کنید.