PHPでリフレクションはこうでしょうが!


テストを書くときにprotected,privateなプロパティを書き換えたいときがあります。
でも、なかなかそらで書けないのです。僕は。

だから、自分への戒めとして書いておきます。
(そもそもアクセスできないテストってどうなの、、、ってのはありますが、、、)

リフレクションはこう!こう書く!!覚えろ!自分!!

        $reflection = new \ReflectionClass($Mailer);
        $property = $reflection->getProperty('oauth');
        $property->setAccessible(true);
        $property->setValue($Mailer, true);
        $this->assertTrue($Mailer->getOAuth());