Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

phpunit unit testing error zf2 doctrine

I've just started with Zend framework 2, with Doctrine. I want to set up unit testing for my Album module.

When I run c:\wamp\www\zf2-tutorial\module\Album\test > phpunit from command prompt, I get following error:

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.

The root of the issue seems to be: Zend\ServiceManager\Exception\ServiceNotFoundException: Zend\ServiceManager\Serv iceManager::get was unable to fetch or create an instance for doctrine.entityman ager.orm_default from test..

I don't understand this, please help!

like image 822
Prashant Avatar asked Dec 25 '12 10:12

Prashant


1 Answers

Okay finally got it!! I changed my TestConfig.php.dist inside module/Album/test to

<?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 basically just added two missing modules, DoctrineModule and DoctrineORMModule, and the phpunit command showed no errors!

Hope it helps others.

like image 166
Prashant Avatar answered Oct 07 '22 17:10

Prashant