背景
PR #51 のレビューで、private method を ReflectionMethod::invoke() するテストに setAccessible(true) が必要との指摘があった。
PHP 8.1以降は非public methodも setAccessible() なしで呼び出せるため対応を見送ったが、本プロジェクトの想定実行環境は PHP 8.5 である。一方、現在の composer.json は php: ^8.3 であり、想定環境と宣言・検証環境が一致していない。
Related: #1
Follow-up: PR #51
スコープ
- PHP 8.5を想定実行環境としてREADME・セットアップ手順へ明記
composer.json のPHP制約を更新するか検討
- PHP 8.5環境で全テストを実行
- Reflectionを使うテストの互換性をPHP 8.5で確認
- 可能ならprivate method直接テストを公開API経由へ置き換える
完了条件
注意
setAccessible(true) はPHP 8.1以降では不要であり、追加自体を目的にしない。対象はPHP 8.5への環境宣言・互換性検証の整備とする。
背景
PR #51 のレビューで、private method を
ReflectionMethod::invoke()するテストにsetAccessible(true)が必要との指摘があった。PHP 8.1以降は非public methodも
setAccessible()なしで呼び出せるため対応を見送ったが、本プロジェクトの想定実行環境は PHP 8.5 である。一方、現在のcomposer.jsonはphp: ^8.3であり、想定環境と宣言・検証環境が一致していない。Related: #1
Follow-up: PR #51
スコープ
composer.jsonのPHP制約を更新するか検討完了条件
注意
setAccessible(true)はPHP 8.1以降では不要であり、追加自体を目的にしない。対象はPHP 8.5への環境宣言・互換性検証の整備とする。