我很難爲過去兩天的經驗而苦惱。 其實我不能正常運行的測試,並獲得:Zend Framework + PHPUnit + Netbeans
PHP Fatal error: Call to undefined function Zend_Application() in C:\xxxxxx\tests\application\controllers\IndexControllerTest.php on line 10
IndexControllerTest是非常簡單的,看起來像這樣:
require_once 'Zend/Test/PHPUnit/ControllerTestCase.php';
class IndexControllerTest extends Zend_Test_PHPUnit_ControllerTestCase
{
public function setUp()
{
$this->bootstrap = Zend_Application(APPLICATION_ENV, APPLICATION_PATH . '/configs/application.ini');
parent::setUp();
}
public function appBootstrap() {
$this->application = new Zend_Application(APPLICATION_ENV, APPLICATION_PATH . '/configs/application.ini');
$this->application->bootstrap();
}
...
在另一方面引導的測試中僅包含下面的代碼:
// Define path to application directory
defined('APPLICATION_PATH')
|| define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../application')); // /../application
// Define application environment
defined('APPLICATION_ENV')
|| define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'testing'));
// Ensure library/ is on include_path
set_include_path(implode(PATH_SEPARATOR, array(
realpath(APPLICATION_PATH . '/../library'),
get_include_path(),
)));
require_once 'Zend/Loader/Autoloader.php';
Zend_Loader_Autoloader::getInstance();
你能幫我找到問題嗎?我想提高迷你項目的質量,開始但不進行測試,這是不可能的。
預先感謝您。
我添加的目錄結構爲我的項目。我在源文件/庫/ Zend中保留zend庫。
嗨,謝謝你的回答。不幸的是我又失敗了。我使用setUp()方法修改了代碼。我得到了同樣的錯誤(「 PHP致命錯誤:Class'Zend_Application'找不到'),但這次是在appBootstrap()中。我是否可以要求提供任何補充提示,因爲我想用單元測試開始我的項目以提高質量,如果沒有環境,這是不可能的。 – Lormitto
這意味着PHP沒有找到要加載的類。仔細檢查Zend_Application的路徑是否正確。該文件應該在'../ library/Zend/Application.php'下。 – Sam
你好,我在上面添加了圖片目錄結構。我甚至試圖將Zend庫放置在測試文件夾中。然而它沒有幫助,我仍然失敗可能在這裏某處犯了一些愚蠢的錯誤。 – Lormitto