در قسمت نهایی این سری آموزش ها ما می خواهیم یک بخش مهم و نادیده گرفته شده از توسعه ی پکیج ها رو بیان کنیم. تست واحد (Unit Testing) باعث میشه در حالی که پکیج رو بهبود می بخشید یا آپدیت می کنید, از اطمینان بزرگتری برخوردار باشید. بدون انجام تست های واحد, نگه داری پکیج ها کار سختی میشه, دلیلش هم اینه که پکیج همواره در حال تغییر هست.
نصب phpunit
ما باید phpunit رو در هر مسیر نصب لاراول مون اضافه کنیم. بیایید فایل composer.json رو در هر ورژن از لاراول که می خواهید تست بشه, باز کنید :
"require-dev": {
...
"phpunit/phpunit": "4.8.*"
},
ورژن فعلی (زمانی که مقاله نوشته میشه) 4.8.1 هست اما شما میتونید از طریق صفحه ی Packagist phpunit آخرین ورژن رو چک کنید. حالا که کد بالا رو اضافه کردید باید دستور آپدیت کامپوزر اجرا کنید :
> composer update phpunit/phpunit
ساخت phpunit.xml
قدم بعدی اینه که فایل phpunit.xml رو در مسیر اصلی پکیج مون بسازیم. ما میتونیم از مثال پایین برای شروع استفاده کنیم اما شما میتونید پیکربندی رو بصورت دلخواه خودتون انجام بدید :
// packages/websanvoa/demo/phpunit.xml
<?xml version="1.0" encoding="UTF-8"?>
<phpunit backupGlobals="false"
backupStaticAttributes="false"
colors="true"
convertErrorsToExceptions="true"
convertNoticesToExceptions="true"
convertWarningsToExceptions="true"
processIsolation="false"
stopOnFailure="false"
syntaxCheck="false"
>
<testsuites>
<testsuite name="Package Test Suite">
<directory suffix=".php">./tests/</directory>
</testsuite>
</testsuites>
</phpunit>
فایل های تست
حالا ما باید یک مسیر tests در مسیر اصلی پکیج مون بسازیم. در این مسیر ما فایل های تست مون رو قرار خواهیم داد :
// packages/websanova/demo/tests/DemoTest.php
class DemoTest extends TestCase
{
public function testSomethingIsTrue()
{
$this->assertTrue(true);
}
}
اجرای phpunit
ما باید phpunit رو از مسیر پکیج هایی که می خواهیم تست کنیم, اجرا کنیم :
> cd /path/to/packages/websanova/demo
> ../../../vendor/bin/phpunit
ما اینکار به این شکل انجام میدیم تا بتونیم فایل phpuni.xml رو که ممکنه پیکربندی خاص خودش رو داشته باشه, وارد کنیم. این همچنین باعث میشه توزیع پکیج برای سایر توسعه دهندگانی که می خواهند مشارکت داشته باشند, ساده تر بشه و به اونها اجاره میده جریان کاری خودشون رو استفاده کنند.
نتیجه گیری
ما الگوی تست خاصی رو انجام ندادیم, چون درباره این موضوع آموزش های زیادی وجود داره. ایده ی اصلی این بود که راه اندازی تست برای پکیج شما صورت بگیره.
در نهایت این سری آموزش ها میتونه به شما کمک کنه توسعه ی پکیج مدنظرتون رو شروع کنید. امیدوارم موارد لازم برای شروع ساخت پکیج هاتون رو بدست آورده باشید.
دیدگاه و پرسش
در حال دریافت نظرات از سرور، لطفا منتظر بمانید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید