我正在为我的控制器编写一些单元测试,但是我遇到了一个问题,即在测试期间我的 AppController 文件中定义的组件似乎没有被继承到我的控制器中。
例如,在我的 AppController.php 文件中,我有以下内容:
public $components = array('Auth' => array(
'authenticate' => array(
'Form' => array(
'fields' => array('username' => 'email')
)
)
), 'Session', 'DebugKit.Toolbar');
如果我转到有问题的控制器并在操作中使用以下代码行,debug($this->components);
我会得到以下结果:
array(
'Auth' => array(
'authenticate' => array(
'Form' => array(
'fields' => array(
'username' => 'email'
)
)
)
),
(int) 0 => 'Session',
(int) 1 => 'DebugKit.Toolbar'
)
但是,在单元测试期间,同一行代码将输出以下内容:
array(
(int) 0 => 'Session'
)
控制器本身没有定义任何组件,因此没有任何东西会导致问题,不确定这里的问题是什么或如何解决它。