And*_*rew 7 php phpunit zend-framework zend-form
我正试图测试我的表格.它将构建其他对象,所以我需要一种方法来模拟它们.我尝试将它们传递给构造函数...
class Form_Event extends Zend_Form
{
public function __construct($options = null, $regionMapper = null)
{
$this->_regionMapper = $regionMapper;
parent::__construct($options);
}
Run Code Online (Sandbox Code Playgroud)
......但我得到一个例外:
Zend_Form_Exception: Only form elements and groups may be overloaded; variable of type "Mock_Model_RegionMapper_b19e528a" provided
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
Gor*_*don 13
快速查看源代码,可以Zend_Form看出__set()方法中引发了异常.触发该方法是因为您$_regionMapper在不存在时即时分配.
在类中声明它,它应该工作正常,例如
class Form_Event extends Zend_Form
{
protected $_regionMapper;
public function __construct($options = null, $regionMapper = null)
{
$this->_regionMapper = $regionMapper;
parent::__construct($options);
}
Run Code Online (Sandbox Code Playgroud)
请参阅PHP手册中有关Magic Methods的章节.