やっぱり、だめ・・・。Xhwlay_Runnerはやはりある程度拡張して使う事も意識している為、基底となるクラスでSingleton提供するのは、不味い。
ということで、getRunner()は削除。
で、結局、Page/Event/Guard/BarrierそれぞれのI/Fに
&$runner
が復活。しゃーないか・・・。
Xhwlay_Runnerのテストになると、あるパスを通す・関数を通すだけでも結構億劫になる。
・・・というよりは、一回のテストケース("testほげほげ"というメソッドになる)の中で、なるべく沢山のルートを潰そうとすると、訳分からなくなる。
"あそこで設定していたからこっちではこうなるはず"がかなり入り組んでくる為、却ってメンテナンス性が落ちる。
というわけで、あまり一回のテストケースであちこち潰そうとせず、一つのテストケースでは一つのポイントになるべく絞り込み、それ以外は、気にはなるけどぐっと抑えて思い切って無視するのが正しいかも知れない。
ということで、今はそのような感じでXhwlay_RunnerのEventモードを実装したり、テストケースを作ったりしている最中。
フレームワークのコアレベルになり、大分きつくなってきたな・・・。