estoy intentando ejecutar test unitarios con PHPUnit pero siempre me da el mismo error.
Estoy trabajando con MacOsX 10.6.6, PHP 5.3.2, PHPUnit 3.5.13 y Apache 2.0.63.
Siguiendo las instrucciones de http://www.zendcasts.com/unit-testin...punit/2009/06/ adapté mi código de la siguiente manera.
/tests/phpunit.xml
Código XML:
/tests/application/bootstrap.phpVer original
<phpunit bootstrap="./application/bootstrap.php" colors="true" processIsolation="true"> <testsuite name="MyApp"> <directory>./</directory> </testsuite> <filter> <whitelist> <directory suffix=".php">../application/</directory> <exclude> <directory suffix=".phtml">../application/</directory> <file>../application/Bootstrap.php</file> <file>../application/controllers/ErrorController.php</file> </exclude> </whitelist> </filter> <logging> <log type="coverage-html" target="./log/report" charset="UTF-8" yui="true" highlight="true" lowUpperBound="50" highUpperBound="80" /> <log type="testdox-html" target="./log/testdox.html" /> </logging> </phpunit>
Código PHP:
/tests/Application/Controllers/ControllerTestCase.phpVer original
<?php // Define path to application directory // Define application environment // Ensure library/ is on include_path ))); /** Zend_Application */ require_once 'Zend/Application.php'; // Create application, bootstrap and run require_once './application/controllers/ControllerTestCase.php';
Código PHP:
El error que me da es el siguiente:Ver original
require_once 'Zend/Application.php'; require_once 'Zend/Test/PHPUnit/ControllerTestCase.php'; abstract class ControllerTestCase extends Zend_Test_PHPUnit_ControllerTestCase { /** * @var Zend_Application */ public $application; public function setUp() { parent::setUp(); } public function appBootstrap() { $this->application = new Zend_Application(APPLICATION_ENV, APPLICATION_PATH . '/configs/application.ini'); $this->application->bootstrap(); } }
Código:
Como no encuentra las clases de la librería Zend, pienso que es debido al include_path de PHP. Sin embargo, he comprobado que apunta a donde debe:PHP Fatal error: Class 'Zend_Controller_Action' not found in /Users/xxx/Documents/websites/quickstart/application/controllers/AccountController.php on line 4
Código:
La librería Zend se encuentra en /Users/xxx/Documents/websites/quickstart/application/../library: /Users/xxx/Documents/websites/quickstart/library: /Users/xxx/Documents/websites/quickstart/library: .: /usr/lib/php:/Applications/MAMP/bin/php5.3/lib/php
Código:
y es un link simbólico./Users/xxx/Documents/websites/quickstart/library
¿A alguien se le ocurre qué puede estar pasando?
Gracias de antemano.