😄

Laravelのphpunitの実行速度を早くする

2024/09/03に公開

Laravelのphpunitの実行速度を早くする

phpunitの実行速度が早くなる方法を調べたのでメモ

現状

何も高速化を実施しない時は、こんな感じ。
テストが増えていったらこんなもんではすまないだろう。

Tests:    3 failed, 81 passed (597 assertions)
Duration: 300.75s

改良

並列化

PHPUnitはデフォルトで並列テストの機能を持っていないので、専用ツールをインストールして並列テストを実施。

phpunit.xmlの設定変更

コメントアウトを外す

<env name="DB_DATABASE" value=":memory:"/>

parestのインストール

composer require --dev brianium/paratest

並列テストの実行

vendor/bin/paratest -p 4 tests/

結果

結果は1分にまで短縮されました。

Time: 01:18.994, Memory: 12.00 MB

OK (84 tests, 603 assertions)

他にseederを一回だけ実行など色々あったのですが、あまり変化がなかったので、今回は並列化のみあげました

最後に

間違っていることあればコメントに書いていただけると幸いです。
よろしくお願いいたします。

GitHubで編集を提案

Discussion