PHP:
כתיבת בדיקות

איך לעשות זאת:

PHP ילידי – PHPUnit

כלי שנמצא בשימוש נרחב לבדיקות ב-PHP הוא PHPUnit. ניתן להתקין אותו באמצעות Composer:

composer require --dev phpunit/phpunit ^9

כתיבת בדיקה פשוטה:

צרו קובץ CalculatorTest.php בתיקייה tests:

use PHPUnit\Framework\TestCase;

// בהנחה שיש לכם מחלקת Calculator שמחברת מספרים
class CalculatorTest extends TestCase
{
    public function testAdd()
    {
        $calculator = new Calculator();
        $this->assertEquals(4, $calculator->add(2, 2));
    }
}

הריצו את הבדיקות עם:

./vendor/bin/phpunit tests

פלט דוגמה:

PHPUnit 9.5.10 by Sebastian Bergmann and contributors.

.                                                                   1 / 1 (100%)

Time: 00:00.005, Memory: 6.00 MB

OK (1 test, 1 assertion)

ספריות של צד שלישי – Mockery

לבדיקות מורכבות, כולל מזיוף אובייקטים, Mockery הוא בחירה פופולרית.

composer require --dev mockery/mockery

אינטגרציה של Mockery עם PHPUnit:

use PHPUnit\Framework\TestCase;
use Mockery as m;

class ServiceTest extends TestCase
{
    public function tearDown(): void
    {
        m::close();
    }

    public function testServiceCallsExternalService()
    {
        $externalServiceMock = m::mock(ExternalService::class);
        $externalServiceMock->shouldReceive('process')->once()->andReturn('mocked result');

        $service = new Service($externalServiceMock);
        $result = $service->execute();

        $this->assertEquals('mocked result', $result);
    }
}

להרצה, השתמשו באותה פקודת PHPUnit כמו לעיל. Mockery מאפשר אובייקטים דמויים ביטוייתיים וגמישים, מה שמקל על בדיקת אינטראקציות מורכבות בתוך היישום שלכם.