کتابخانه ی atoum یک چارچوب کلی برای تست واحدهای پروژه ی شما در قالبی ساده، مدرن و بصری برای PHP است. این کتابخانه کاملا مستقل است و جدای پروژه ی شما به بررسی و تست و عیب یابی پروژه میپردازد. همه ی اسناد و توابع این کتابخانه ی قدرتمند در دسترس است و از مجموعه ی توابع و کلاس های خود جهت عملیات تست و بررسی بهره میبرد.
این کتابخانه با اهداف زیر استفاده میشود:
- سرعت عمل بالا در تست و بررسی خطا ها و باگ های پروژه
- ساده سازی آزمایش و تست توسعه پروژه
- امکان نوشتن قابل اعتماد هر بخش،قابلیت خواندن هر بخش و همچنین امکان تست واحد از تمام پروژه
تست واحد
unit testing (تست واحد) امکان تست هر بخش از برنامه و کد به صورت جداگانه می باشد.تفکری که پشت Unit Testing وجود دارد کنترل صحت و کیفیت هر بخشی از برنامه است تا اطمینان حاصل شود که همان کاری که از آن انتظار می رود را انجام می دهد.شاید انجام تست واحد به نظر کاری وقت گیر بیاید، اما اگر شما از صحت عملکرد قسمت های کوچک اطمینان حاصل کنید در اخر کار با باگ ها و مشکلات کمتری روبرو خواهید بود.این باعث کاهش زمان تولید نرم افزار و کاهش زمان تست خواهد شد.
کتابخانه ی atoum قادر است با استفاده کامل و بهینه از قابلیت های ارائه شده توسط php، به طور کامل برای ایجاد یک تست واحد به توسعه دهنده و برنامه نویس ارائه ی گزارش دهد. چون تنها یک آرشیو PHAR وجود دارد که تنها پرونده ورود برای توسعه دهنده است ، بنابر این، کتابخانه ی atoum را می توان به راحتی نصب و با خصوصیت یکپارچه ی آن ،تست واحد پروژه مد نظر را نجام داد. همچنین، به لطف رابط کاربری روان کتابخانه ی atoum ، امکان نوشتن تست های واحد را در حالت نزدیک به زبان استاندارد php فراهم می کند. به لطف استفاده هوشمندانه از عملکردهای مختلف یک پروژه نوشته شده توسط php ،عملیات تست گیری پروژه با دقت بالا و نیز سرعت بالایی انجام میپذیرد. atoum به طور پیشفرض، اجرای هر تست واحد را در یک فرایند جداگانه php اجرا می کند. البته، می توان آن را به صورت یکپارچه استفاده کرد، و با توجه به طراحی آن، می توان آن را برای مقابله با نیازهای خاص پروژه بسیار آسان کرد. Atoum همچنین تمام این کارها را بدون تاثیر بر عملکرد پروژه انجام می دهد،در حالی که امکان اجرای سریع تست واحد پروژه فراهم شده است. همچنین می تواند گزارش اجرای آزمون واحد را در فرمت Xunit تولید کند، که آن را با ابزار ادغام پیوسته مانند Jenkins سازگار می سازد. Atoum همچنین گزارش های پوشش های کدی را تولید می کند تا امکان نظارت بر آزمایش های واحد را فراهم کند. از دیگر ویژگی این کتابخانه اجرای آن بر روی سرور های تحت ویندوز است که البته با فعال سازی apache,my sql این امکان فراهم میشود.
توسعه دهنگان با این کتابخانه به راحتی قادر خواهند بود تا با سرعت بالا و کدنویسی کم تست واحد پروژه ی خود را انجام دهند و در وقت خود جهت خواندن و نوشتن پایان پروژه صرفه جویی کنند زیرا این کتابخانه در خواندن و نوشتن پروژه مستقل عمل کرده و به عملکرد پروژه شما آسیبی نمیرساند.
$this
->string("hello world")
->endWith("world")
->hasLength(11)
->array([1, 2, 3])
->hasSize(3)
;
موتور سریع
آزمایش واحد باید سریع باشد تا به عملکرد پروژه و توسعه آن آسیبی نرسد.این کتابخانه با بهره گیری از موتور قوی جهت پردازش و تست پروژه به روش جداسازی و موازی سازی برای به دست آوردن عملکرد بهتر و جلوگیری از اتلاف وقت و از بین رفتن کد های اصلی در حین آزمون میتواند کمک بسیاری به توسعه دهندگان بکند.
نوشتن آسان mocks به صورت سریع و کوتاه
$mockDbClient = new \mock\Database\Client();
// Redefine the method connect
// it will always return true
$this->calling($mockDbClient)->connect = true;
// Redefine the method select
// it will execute the given anonymous function
$this->calling($mockDbClient)->select = function() {
return array();
};
پشتیبانی از فریم ورک های php
این کتابخانه با اکثر فریم ورک های مطرح php سازگاری کامل دارد و این امکان را میدهد در قالب فریم ورک های php عملیات تست واحد از پروژه را انجام دهد.
ویژگی های اضافی از طریق افزودنیها
شما میتوانید با اضافه کردن افزودنیهای این کتابخانه از امکاناتی مانند: تست JSON یا XMLو... استفاده کنید. کتابخانه ی atoum دارای یک سیستم ecosystem درایو برای گسترش امکانات موجود در این کتابخانه تست است.با وارد شدن به لینک http://extensions.atoum.org/ این افزودنیها را دریافت کنید.
نصب و راه اندازی کتابخانه ی atoum :
نصب به وسیله ی Composer:
composer require --dev atoum/atoum
دریافت فایل از لینک https://github.com/atoum/atoum و فراخوانی PHAR مربوط به کتابخانه atoum به پروژه.
دیدگاه و پرسش
در حال دریافت نظرات از سرور، لطفا منتظر بمانید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید