Skip to content

PHP 8.5を想定実行環境として明文化し、互換性テストを整備する #53

Description

@strnh

背景

PR #51 のレビューで、private method を ReflectionMethod::invoke() するテストに setAccessible(true) が必要との指摘があった。

PHP 8.1以降は非public methodも setAccessible() なしで呼び出せるため対応を見送ったが、本プロジェクトの想定実行環境は PHP 8.5 である。一方、現在の composer.jsonphp: ^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経由へ置き換える

完了条件

  • PHP 8.5でComposer依存関係を解決できる
  • PHP 8.5でPHPUnit全件が通る
  • 想定PHPバージョンがREADME・設定間で一致する
  • Reflectionテストの方針と根拠を記録する
  • CI導入時にPHP 8.5を検証対象にできる状態にする

注意

setAccessible(true) はPHP 8.1以降では不要であり、追加自体を目的にしない。対象はPHP 8.5への環境宣言・互換性検証の整備とする。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions