Test delle unità
Installazione
composer require --dev phpunit/phpunit
Configurazione
Aggiungere il file di configurazione phpunit.xml nella directory root del progetto. È possibile personalizzarlo in base alle esigenze del progetto. Consultare la documentazione sulla configurazione di 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>
Utilizzo
Creare il file tests/TestConfig.php per testare la configurazione dell'applicazione:
<?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']);
}
}
Esecuzione
Eseguire tutti i test dalla directory root del progetto:
./vendor/bin/phpunit
Eseguire un test specifico dalla directory root del progetto:
./vendor/bin/phpunit tests/TestConfig.php
Il risultato sarà simile al seguente:
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)