PHPUnitでカバレッジを取得する際にNoticeを除外したいです。
[環境]
PHP:7.4系
PHPUnit:9.5系
composerを使用
[問題]
PHPUnit実行時に定数の二重定義エラー Constant XXX already definedに引っ掛かります。
以下のように修正すればよいのですが、既存のプログラムは触ることができない縛りとなっております。
ダメなことは百も承知ですがphp.iniファイルなどで読み飛ばすことはできないでしょうか。
if (!defined('DEFAULT_VALUE')){ define('DEFAULT_VALUE', 10); }
[php.ini]エラーレベルも変更しております。(PHPUnitでphpinfo()をechoで出力して設定されていることを確認済み)
error_reporting = E_ALL & ~ E_DEPRECATED & ~ E_WARNING & ~ E_NOTICE
[PHPUnitテストファイル]一部抜粋
protected function setUp(): void { error_reporting(E_ERROR | E_WARNING | E_PARSE); }
[PHPUnit実行コマンド]
phpunit --stderr --coverage-html coverage
あなたの回答
tips
プレビュー