PHPUnitの遅いテストケースをあぶり出すphpunit-speedtrap
単体テストは数秒で結果が出ると、テストを回しながらの開発がしやすくなったり、継続的インテグレーションの待ち時間が短くなったりと良いことが多い。しかし、プロジェクトが成長するにつれ、テストにかかる時間が伸びだし、待つのが辛くなってくることがある。
johnkary/phpunit-speedtrapはPHPUnitの遅いテストケースを報告してくれるプラグインだ。これを導入すると、実行時間がしきい値を超えたテストケースについて、遅いテストワーストランキングをテスト結果に表示してくれる。その結果をヒントに遅いテストをチューニングすることができる。
インストール方法
composer require --dev johnkary/phpunit-speedtrap
もしも、PHPUnit6系を使っている場合は、最新のバージョン3.0は入らないため、phpunit-speedtrapの2.0を入れる必要がある:
composer require --dev johnkary/phpunit-speedtrap='^2.0'
設定
phpunit.xmlにlistnerを追加するだけ:
<phpunit bootstrap="vendor/autoload.php">
...
<listeners>
<listener class="JohnKary\PHPUnit\Listener\SpeedTrapListener" />
</listeners>
</phpunit>
しきい値を設定することもできる:
- slowThreshold: 「遅いテストケース」とするしきい値。デフォルトは500ミリ秒。
- reportLength: テスト結果に表示する最大テストケース数。デフォルトは10件。
<phpunit bootstrap="vendor/autoload.php">
<!-- ... other suite configuration here ... -->
<listeners>
<listener class="JohnKary\PHPUnit\Listener\SpeedTrapListener">
<arguments>
<array>
<element key="slowThreshold">
<integer>500</integer>
</element>
<element key="reportLength">
<integer>5</integer>
</element>
</array>
</arguments>
</listener>
</listeners>
</phpunit>
Author And Source
この問題について(PHPUnitの遅いテストケースをあぶり出すphpunit-speedtrap), 我々は、より多くの情報をここで見つけました https://qiita.com/suin/items/ed0f5bcc2d3e645cbb42著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .