PHP:
テストの作成
方法:
ネイティブPHP – PHPUnit
PHPでのテストに広く使用されているツールはPHPUnitです。Composer経由でインストールします:
composer require --dev phpunit/phpunit ^9
シンプルなテストの記述:
tests
ディレクトリにCalculatorTest.php
ファイルを作成します:
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
PHPUnitとのMockeryの統合:
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を使用すると、表現力豊かで柔軟なモックオブジェクトを利用でき、アプリケーション内の複雑な相互作用のテストが容易になります。