2012-12-25 5 views
8

Ich habe gerade mit Zend Framework 2 begonnen, mit der Lehre. Ich möchte den Unit-Test für mein Album-Modul einrichten.phpunit Einheit Test Fehler zf2 Doktrin

Wenn ich c:\wamp\www\zf2-tutorial\module\Album\test > phpunit von Eingabeaufforderung ausführen, ich folgende Fehlermeldung erhalten:

PHPUnit 3.7.10 by Sebastian Bergmann. 

Configuration read from C:\wamp\www\zf2-tutorial\module\Album\test\phpunit.xml.d 
ist 

.FFE 

Time: 2 seconds, Memory: 8.25Mb 

There was 1 error: 

1) AlbumTest\Controller\AlbumControllerTest::testIndexActionCanBeAccessed 
Zend\ServiceManager\Exception\ServiceNotFoundException: Zend\ServiceManager\Serv 
iceManager::get was unable to fetch or create an instance for doctrine.entityman 
ager.orm_default 

C:\wamp\www\zf2-tutorial\vendor\zendframework\zendframework\library\Zend\Service 
Manager\ServiceManager.php:452 
C:\wamp\www\zf2-tutorial\module\Album\src\Album\Controller\AlbumController.php:2 
5 
C:\wamp\www\zf2-tutorial\module\Album\src\Album\Controller\AlbumController.php:3 
3 
C:\wamp\www\zf2-tutorial\vendor\zendframework\zendframework\library\Zend\Mvc\Con 
troller\AbstractActionController.php:88 
C:\wamp\www\zf2-tutorial\vendor\zendframework\zendframework\library\Zend\EventMa 
nager\EventManager.php:464 
C:\wamp\www\zf2-tutorial\vendor\zendframework\zendframework\library\Zend\EventMa 
nager\EventManager.php:208 
C:\wamp\www\zf2-tutorial\vendor\zendframework\zendframework\library\Zend\Mvc\Con 
troller\AbstractController.php:107 
C:\wamp\www\zf2-tutorial\module\Album\test\AlbumTest\Controller\AlbumControllerT 
est.php:71 

-- 


There were 2 failures: 

1) AlbumTest\Controller\AlbumControllerTest::testDeleteActionCanBeAccessed 
Failed asserting that 302 matches expected 200. 

C:\wamp\www\zf2-tutorial\module\Album\test\AlbumTest\Controller\AlbumControllerT 
est.php:54 

2) AlbumTest\Controller\AlbumControllerTest::testEditActionCanBeAccessed 
Failed asserting that 302 matches expected 200. 

C:\wamp\www\zf2-tutorial\module\Album\test\AlbumTest\Controller\AlbumControllerT 
est.php:64 

FAILURES! 
Tests: 4, Assertions: 3, Failures: 2, Errors: 1. 

Die Wurzel des Problems zu sein scheint: Zend \ Servicemanager \ Exception \ ServiceNotFoundException: Zend \ Servicemanager \ Serv iceManager :: get konnte keine Instanz für doctrin.entityman ager.orm_default von test ..

abrufen oder erstellen. Ich verstehe das nicht, bitte helfen!

+0

Können Sie die Webapp sehen? Dies kann ein Problem sein, da Doctrine nicht korrekt installiert oder nicht korrekt konfiguriert ist. –

+0

Danke für die Antwort Jurian. Ja, die Webapp läuft gut und Doctrine ist ebenfalls korrekt installiert. Die Funktionen zum Hinzufügen, Bearbeiten, Auflisten und Löschen funktionieren gut mit dem Modul Doctrine for Album. – Prashant

Antwort

17

Okay endlich hat es !! Ich änderte meine TestConfig.php.dist innerhalb Modul/Album/Test

<?php 
return array(
    'modules' => array(
     'DoctrineModule', 
     'DoctrineORMModule', 
     'Album', 
    ), 
    'module_listener_options' => array(
     'config_glob_paths' => array(
      '../../../config/autoload/{,*.}{global,local}.php', 
     ), 
     'module_paths' => array(
      'module', 
      'vendor', 
     ), 
    ), 
); 

so im Grunde nur noch zwei fehlenden Module, DoctrineModule und DoctrineORMModule und der phpunit Befehl zeigte keine Fehler!

Ich hoffe, es hilft anderen.

+0

danke, hat mir sehr geholfen! – Ron

+0

Danke !! Ich habe stundenlang gesucht. Es funktioniert endlich! –