Kiểm thử đơn vị

Cài đặt

composer require --dev phpunit/phpunit

Cấu hình

Thêm tệp cấu hình phpunit.xml vào thư mục gốc của dự án. Bạn có thể tùy chỉnh theo nhu cầu dự án của mình. Xem tài liệu cấu hình phpunit.xml.

<?xml version="1.0" encoding="UTF-8"?>
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="vendor/phpunit/phpunit/phpunit.xsd"
    bootstrap="support/bootstrap.php"
    cacheDirectory=".phpunit.cache"
    executionOrder="depends,defects"
    shortenArraysForExportThreshold="10"
    requireCoverageMetadata="false"
    beStrictAboutCoverageMetadata="true"
    beStrictAboutOutputDuringTests="true"
    displayDetailsOnPhpunitDeprecations="true"
    failOnPhpunitDeprecation="true"
    failOnRisky="true"
    failOnWarning="true"
    colors="true">
    <testsuites>
        <testsuite name="tests">
            <directory>./tests</directory>
        </testsuite>
    </testsuites>
    <source>
        <include>
            <directory suffix=".php">./app</directory>
        </include>
    </source>
</phpunit>

Sử dụng

Tạo tệp mới tests/TestConfig.php để kiểm thử cấu hình ứng dụng:

<?php
use PHPUnit\Framework\TestCase;

class TestConfig extends TestCase
{
    public function testAppConfig()
    {
        $config = config('app');
        self::assertIsArray($config);
        self::assertArrayHasKey('debug', $config);
        self::assertIsBool($config['debug']);
        self::assertArrayHasKey('default_timezone', $config);
        self::assertIsString($config['default_timezone']);
    }
}

Chạy

Chạy tất cả các trường hợp kiểm thử từ thư mục gốc của dự án:

./vendor/bin/phpunit

Chạy trường hợp kiểm thử cụ thể từ thư mục gốc của dự án:

./vendor/bin/phpunit tests/TestConfig.php

Kết quả tương tự như sau:

PHPUnit 9.5.10 by Sebastian Bergmann and contributors.

.                                                                   1 / 1 (100%)

Time: 00:00.010, Memory: 6.00 MB

OK (1 test, 5 assertions)