2010-11-29 33 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