Тестирование CakePHP 2.0.5 Helper, который расширяет FormHelper - PullRequest
1 голос
/ 08 февраля 2012

Я создаю помощник CakePHP, который расширяется от FormHelper:

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 голосов
/ 26 октября 2012

Чтобы переписать метод HtmlHelper в Cake 2.0, вы можете просто:

Создайте свой класс OwnHelper, содержащий, например, метод link, который extends HtmlHelper в AppController указывает:

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

через ADmad

...