phpunit overassertive
1.0.0
同じテスト内に複数のアサーションがあることは問題ありませんが、アサーションが失敗すると、テスト全体が中止され、同じテスト内の他のアサーションはテストされません。
テストの内容とコーディング方法に応じて、一部のテストを複数のサブテストに分割することができます。
OverAssertiveは、どのテストに「多すぎる」アサーションがあるかをコンソールに直接レポートする PHPUnit 拡張機能です。「多すぎる」とは定義したもので、一部のテストの検査やリファクタリングに役立ちます。
テスト スイートのphpunit.xml
ファイルに以下を追加して、すべてのデフォルトで有効にします。
<phpunit bootstrap="vendor/autoload.php"> ... <リスナー> <listener class="OzhPHPUnitListenerOverAssertiveTestsListener" /> </リスナー> </phpunit>
オートローダーを使用していない場合は、ライブラリの場所を指定することもできます。
<phpunit bootstrap="boostrap.php"> ... <リスナー> <listener class="OzhPHPUnitListenerOverAssertiveTestsListener" file="/path/to/OverAssertiveTestsListener.php" /> </リスナー> </phpunit>
次に、テスト スイートを通常どおり実行します。 OverAssertive は、スイートの完了後にコンソールでアサーティブ テストについてレポートします。
OverAssertive には 2 つの構成可能なパラメータがあります。
alertThreshold - アサーティブ以上のテストを行うアサーションの数 (デフォルト: 10 アサーション)
reportLength - レポートに含まれる過剰なアサーティブ テストの数 (デフォルト: 10 テスト)
これらの構成パラメータは、リスナーを追加するときにphpunit.xml
で設定されます。
<phpunit ...><!-- ... 他のスイート設定はここにあります ... --><listeners> <リスナークラス="OzhPHPUnitListenerOverAssertiveTestsListener"> <引数> <配列> <要素キー="アラートしきい値"> <整数>10</整数> </要素> <要素キー="レポートの長さ"> <整数>10</整数> </要素> </配列> </引数> </リスナー> </リスナー> </phpunit>
phpunit-speedtrap に感謝します
やりたいことは何でもやってください。