[PHP] runkit を使って time() のような環境に依存する値を返す組み込み関数が埋め込まれたコードを変更せずにテストするPHPPHPUnittesting PHP の標準関数のスタブする方法はないか探していたところ runkit というものが見つかりました。機能が強力であるため黒魔術的な紹介をされていることが多いのですが、現実というのは残酷なもので黒魔術に頼らないといけない場面もあるのではないかなと思います。 例えば下記のように time() が直接埋め込まれたメソッドがあったとします。現在のタイムスタンプが指定の値を超えていたら true、超えていなかったら false を返すメソッドです。