测试CakePHP 2.0.5 Helper,它扩展了FormHelper

时间:2012-02-07 21:33:18

标签: cakephp-2.0

我正在创建一个从FormHelper扩展的CakePHP助手:

App::uses('FormHelper', 'View/Helper');
class MyFormHelper extends FormHelper{
    public function wysiwyg($fieldName, $options = array()){
        return parent::textarea('Model.field');
    }
}

这是我的TestCase:

App::uses('Controller', 'Controller');
App::uses('View', 'View');
App::uses('MyFormHelper', 'View/Helper');

class MyFormHelperTest extends CakeTestCase {
    public $helper = null;

    public function setUp() {
        parent::setUp();
        $Controller = new Controller();
        $View = new View($Controller);
        $this->helper = new MyFormHelper($View);
    }


    public function testWysiwyg() {
        $result = $this->helper->wysiwyg('Model.field');
        $expected = array(
            'textarea' => array('name' => 'data[Model][field]', 'id' => 'ModelField'),
            '/textarea',
        );
        $this->assertTags($result, $expected);
    }
}

当我运行测试时,我有一个PHPUNIT_FRAMEWORK_ERROR_NOTICE

Trying to get property of non-object

我知道问题来自我的助手:

return parent::textarea('Model.field');

我不知道如何解决这个问题。

提前致谢:)

1 个答案:

答案 0 :(得分:0)

要覆盖Cake 2.0中的HtmlHelper方法,您可以简单地:

创建包含OwnHelper方法的link类,extends HtmlHelperAppController中指定:

$helpers = array('Html' => array('className' => 'OwnHelper'));

通过ADmad