参考:https://bugs.php.net/bug.php?id=54620
ExampleControllerTest.php
public function tearDown() {
parent::tearDown();
$_user = (new ReflectionClass('AuthComponent'))->getProperty('_user');
$_user->setAccessible(1);
$_user->setValue(array());
}
AuthComponent.php
protected static $_user = array();
経緯
CakePHPでAuthComponentを利用するControllerのテストを書いていて認証のキャッシュにstatic変数を使っていたので、tearDownのときにセットしなおそうとしたらprotectedだったのでこのようにしました。