• Willkommen im Zend Framework Forum

    ZF1 Zend Framework 1 + ZF2 Zend Framework 2

    Das Zend Framework Forum ist seit 2006 die erste Anlaufstelle für Zend Framework Entwickler in Deutschland. Mit über 70.000 Beiträgen und einer steigenden Nutzerzahl bietet das Forum hilfreiche Themen und ZF-Tutorials für professionelle Entwickler, fortgeschrittene Programmierer sowie Zend Framework Einsteiger.
    Wenn dies Dein erster Besuch in der Zend Framework Community ist, lies bitte zuerst die Hilfe - FAQ durch. Du musst Dich registrieren, bevor Du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um die Registrierung zu starten. Du kannst auch jetzt schon Beiträge lesen. Hier im Forum findest Du die Zend Framework Hilfe, die Du suchst!

    Grüße an alle Zend Framework Entwickler. Das Team vom Zend Framework Forum!

    Drupal Agentur

PHPUnit sinnvolles Tutorial für ZF

SebboKleine

New member
Hallo,

ich will mit PHPUnit Tests für eine ZF-Anwendung (MVC mit einigen Modulen) schreiben. Leider bekomme ich keine ControllerTest hin. Ich habe mir aus vielen Internet-Seite einiges Zusammengestrickt, aber es haut doch nicht hin. (Bei den verschiedenen Quellen könnte es da auch komplett falsche Sachen geben.)

Was ich Suche ist eigentlich ein komplettes Tutorial (oder ähnliches), was den Einsatz von PHPUnit mit ZF erklärt (und dabei nicht die Hälfte weglässt).
Bitte keinen Link zu Zend Framework: Documentation: Zend_Test_PHPUnit - Zend Framework Manual, da steht dann im Beispiel: "// definition of methods would follow...". Das ist ganz tolle Dokumentation, weil ich denke das grade in den Methoden mein Problem gelöst werden würde.

Vielleicht mal als grober Überblick meine setUp-Funktion
PHP:
public function setUp()
    {
        $this->bootstrap = new Zend_Application(
            'testing',
            APPLICATION_PATH . '/configs/application.ini'
        );
        parent::setUp();

       // the following I've found all across the net, it helped me with different error messages
        $front = Zend_Controller_Front::getInstance();
         $front->setControllerDirectory('../application/controllers');
         $front->addModuleDirectory('../application/modules');
         Zend_Controller_Action_HelperBroker::addHelper(new Zend_Layout_Controller_Action_Helper_Layout);
    }
und hier ein Test für eine Action im Controller
PHP:
public function testLoginAction() {
           $this->request->setMethod('POST')
                      ->setPost(array(
                          'username' => $user,
                          'password' => $password,
                      ));
           $this->dispatch('/index/form');
         ...
}
Die Fehlermeldung, die ich momentan bekomme, ist: "include(Form/Login.php): failed to open stream: No such file or directory"
(Der Login liegt noch nicht in einem extra Modul. Aber wenn der Standard noch nicht mal geht, dann brauch ich Module auch gar nicht erst testen.)

Ich bin gerne bereit, mich durch ein ausführliches (auch englisches) tutorial zu arbeiten. (Sitze da jetzt sowieso schon 2 Tage dran.)

Vielen Dank für alle Hilfe.
 

crash

New member
Scheint so als wäre der Resource-Loader nicht initialisiert. Ein einfaches $this->bootstrap()->getResourceLoader() sollte das erledigen. Ansonsten mal probieren mit bootstrap() oder run() die ganze Anwendung zu laden.
 

crash

New member
einfach ja, aber ich würde nur laden was wirklich benötigt wird, sonst kann man seine Tests beeinflussen. Langsamer ist es außerdem.
 
Oben