参考
Pest - An elegant PHP Testing Framework | Installation
やり方
記事を書きながら公式の方が絶対いいなと思いながら書き残します。
個人的につまったところは、composer.jsonの"minimum-stability"など書くところが分からず、ずっと怒られてました。
Dockerでやるならこちらをcloneしてもらったほうがいいかもしれません。
yoshinyan/pest_test
phpunit.xmlは次からコピペする。
pest/phpunit.xml at master · pestphp/pest
# 前提composerが入っていること
composer require phpunit/phpunit:"^9.0" --dev --update-with-dependencies
composer require pestphp/pest --dev
composer.json
{
"require-dev": {
"phpunit/phpunit": "^9.0",
"pestphp/pest": "^0.1.5"
},
"minimum-stability": "dev", // <= エラーが起こったらこれを追加
"prefer-stable": true // <= エラーが起こったらこれを追加
}
ファイル名はXXXTest.phpに固定っぽい。
./tests/Unit/CalcTest.php
<?php
# シンプルでとてもよい。
test('足し算のテスト', function () {
$sum = 1 + 1;
assertEquals(2, $sum);
});
// もしくは
it('引き算のテスト', function () {
$sum = 2 - 1;
assertEquals(1, $sum);
});
# テスト実行
./vendor/bin/pest
# result
PASS Tests\Unit\CalcTest
✓ 足し算のテスト
✓ it 引き算のテスト
Tests: 2 passed
Time: 0.43s
感想
- PestはJestに結果出力のところが似ていて、かっこいいなと思いました
- PHPUnitと共存できるらしい。
- Laravelと相性が良さそう。
- Pestの英訳が「害虫」と面白い
- Jestと名前が似ている