LoginSignup
3
2

More than 3 years have passed since last update.

PHPテストフレームワークPestを試してみる

Last updated at Posted at 2020-05-30

参考

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と名前が似ている

よければこちらも見てください

PHPテストフレームワークPestのAssertionsの書き方例 - Qiita

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2