2011-02-24 77 views
2

我有一個基於Zend Framework的應用程序,我嘗試使用phpunit爲測試用例生成框架。 PHPUnit的似乎無法找到我想要生成的類的父類:Phpunit骨架生成器找不到擴展類

phpunit --skeleton-test Default_Model_Person ../application/models/Person.php 
PHPUnit 3.5.11 by Sebastian Bergmann. 

PHP Fatal error: Class 'X1_Db_Table_Auditable' not found in /path/to/application/models/Person.php on line 3 

Fatal error: Class 'X1_Db_Table_Auditable' not found in /path/to/application/models/Person.php on line 3 

所以,我對於示例應用程序/模型/ Person.php

<?php 

class Default_Model_Person extends X1_Db_Table_Auditable 
{  

在庫/ X1 /Db/Table/Auditable.php是

<?php 

class X1_Db_Table_Auditable extends X1_Db_Table 
{ 

... 

我有手寫的其他測試用例PHPUnit可以把這個應用沒有問題運行。我也試着用--bootstrap指定引導文件,用--configuration指定配置以確保找到庫的路徑,但我似乎無法得到這個工作(結果與以上)。我怎樣才能讓這個庫類被phpunit發現以生成骨架?

我是相當新的PHP,phpUnit和Zend,所以請原諒我的初學者問題;) 在此先感謝!

回答

5

您需要設置一個自動加載器,以允許PHP在引用時導入X1和任何其他類,通常在bootstrap.php中。

require_once 'Zend/Loader/AutoLoader.php'; 
$autoloader = Zend_Loader_AutoLoader::getInstance(); 
$autoloader->registerNamespace('X1_'); 
+0

如果Zend Framework目錄不在你的include路徑中,把它放在上面'require_once'的開頭:'require_once PATH_TO_ZEND。 '/Zend/Loader/Autoloader.php';' – 2012-07-10 18:39:40