Zend Framework, HelperBroker PHPUnit Testi

0 Cevap php

Bu çok özel bir soru ve ben bana doğru yönde işaret potansiyel bir çözüm ama hiçbir şey için çok googled var. Bana benim uygulamada bazı formları işleme yardımcı olmak için bir Zend_Controller_Action_Helper yazdım. Şimdi uygulamada gayet iyi çalışıyor ama benim testleri kırdı yolunmuş. Ben komisyoncu içine helper eklemek satırları ise her şey çalışıyor ama yenilgiler bu tür nesne. Ben almak hatadır

Fatal error: Class 'PHPUnit_Framework_Error_Notice' not found in /Users/chris/NetBeansProjects/myProject/library/ProcessForm.php on line 25

Ne ben anlamıyorum neden olduğunu spesifik olarak on line 25 bu hata atma edilir

public function processForm($aParam)

Bu yüzden sana app bazı göstermek için bazı kod yapıştırın etmeliyim. Ben bu yüzden gibi benim uygulama bootstrap bu Yardımcısı ekleme ..

class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
    protected function _initHelpers()
    {
        // If I comment out these lines it all works
        require_once 'ProcessForm.php';
        Zend_Controller_Action_HelperBroker::addHelper(
            new ProcessForm()
        );
    }
}

Benim PHPUnit önyükleme dosyası gibi görünüyor

require_once 'Zend/Application.php';
require_once 'Zend/Test/PHPUnit/ControllerTestCase.php';

abstract class ControllerTestCase extends Zend_Test_PHPUnit_ControllerTestCase
{

    protected $application;

    public function setUp()
    {
        $this->bootstrap = array($this, 'appBootstrap');
        parent::setUp();
        $this->getFrontController()->setParam('bootstrap', $this->application->getBootstrap());
    }

    public function appBootstrap()
    {
        $this->application = new Zend_Application(APPLICATION_ENV, APPLICATION_PATH . '/configs/application.ini');
        $this->application->bootstrap();
    }


}

Gerçek yardımcı bu gibi görünüyor

class ProcessForm extends Zend_Controller_Action_Helper_Abstract
{
    /**
     * @var Zend_Loader_PluginLoader
     */
    public $pluginLoader;

    /**
     * Constructor: initialize plugin loader
     *
     * @return void
     */
    public function __construct()
    {
        $this->pluginLoader = new Zend_Loader_PluginLoader();
    }

    public function processForm($aParam)
    {
    }

    public function direct($aParam)
    {
        return $this->processForm($aParam);
    }
}

0 Cevap