当我运行 phpunit 来测试我的 Controller 时,总是会出现以下消息:Class Zend_Test_PHPUnit_Controller_TestCase could not be found ...
所有 require_once 都被执行并运行,没有错误。

我的文件:

Test.php:

<?php

require_once 'bootstrap.php';

class indexTest extends Zend_Test_PHPUnit_ControllerTestCase
{
    protected function setUp ()
    {
        $this->bootstrap = array($this, 'appBootstrap');
        parent::setUp();
    }

    public function appBootstrap ()
    {
        $this->frontController->registerPlugin(new DemoApp_Controller_Plugin_Initialize('test', PROJECT_ROOT));
    }

    public function testIndex()
    {
        $this->dispatch('/');
        $this->assertController('login');
    }
}

bootstrap.php:
<?php
define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../src/application/'));

set_include_path( APPLICATION_PATH . '/../library' . PATH_SEPARATOR .
        APPLICATION_PATH . '/modules' . PATH_SEPARATOR .
        APPLICATION_PATH . '/layouts' . PATH_SEPARATOR .
        get_include_path() );

require_once 'PHPUnit/Framework.php';
require_once 'PHPUnit/Framework/TestSuite.php';
require_once 'PHPUnit/TextUI/TestRunner.php';

error_reporting(E_ALL);

require_once APPLICATION_PATH . "/../library/Zend/Loader.php";
Zend_Loader::registerAutoload();

// Set up the config in the registry path relative to public/index.php
$config = new Zend_Config_Ini(APPLICATION_PATH . '/config.ini'); //, 'test'
Zend_Registry::set('config', $config);

/*// Set up the database in the Registry
$db = Zend_Db::factory($config->db);
Zend_Db_Table_Abstract::setDefaultAdapter($db);
*/

// Set timezone
date_default_timezone_set("Europe/Berlin");

最佳答案

该类不在您的包含路径中,或者,您根本没有该类。
采取的步骤:

  • 找到类文件
  • 确保该类(class)在您的
    包括路径,包括
    auto_loader 名称解析:
    Z_Y_YourClass 将被查看
    include_path/Z/Y/YourClass.php

  • 祝你好运

    关于zend-framework - 找不到 Zend_Test_PHPUnit_ControllerTestCase 类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/760640/

    10-13 01:29