2010-11-29 35 views
1

我在我的Zend Framework應用程序上首次設置單元測試(實際上,這是我第一次進行單元測試)。相對URI使用Zend_Test問題

我目前得到的一個問題是,我使用的視圖助手,包括我headscripts和鏈接:

class Zend_View_Helper_HeadIncludes extends Zend_View_Helper_Abstract { 

    public function headIncludes($type, $folder) { 
     if($folder == "full" && APPLICATION_ENV == "production") { 
      $folder = "min";    
     } 
     $handler = opendir(getenv("DOCUMENT_ROOT") . "/". $type ."/" . $folder); 
     while ($file = readdir($handler)) { 
      if ($file != "." && $file != "..") { 
       if($type == "js") { 
        $this->view->headScript()->appendFile('/js/' . $folder . '/' . $file); 
       } else if ($type == "css") { 
        $this->view->headLink()->appendStylesheet('/css/' . $folder . '/' . $file); 
       } 
      } 
     } 
     closedir($handler); 
    } 
} 

這包括在每個視圖腳本。當我嘗試運行一個測試時,它會失敗,因爲opendir()試圖找到與文檔根目錄相關的「/ css/full」,這似乎與測試和應用程序的值不同。解決這個問題的最好方法是什麼?我可以添加一個條件,在APPLICATION_ENV =「testing」時做一些不同的事情,但我不確定這是否與設置測試應該達到的目的相反。

回答

2

環境變量'DOCUMENT_ROOT'只會由您的Web服務器設置。您可能希望使用'APPLICATION_PATH'作爲參考,因爲它在整個虛擬主機以及命令行使用中更可靠。

+1

此外,不要忘記,如果您使用的是PHPUnit,則可以傳入一個自定義引導程序文件來幫助設置您的環境。 – 2010-11-29 16:42:18