代码之家  ›  专栏  ›  技术社区  ›  wheresrhys

使用Zend_测试的相对uri的问题

  •  1
  • wheresrhys  · 技术社区  · 14 年前

    我第一次在我的Zend框架应用上设置单元测试(实际上这是我第一次做单元测试)。

    我现在遇到的一个问题是,我使用视图助手来包含我的头脚本和链接:

    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”时添加一个条件来做一些不同的事情,但不确定这是否会与设置测试的目的相反。

    1 回复  |  直到 14 年前
        1
  •  2
  •   Darryl E. Clarke LukePOLO    14 年前

    环境变量“DOCUMENT_ROOT”只能由web服务器设置。您可能希望使用“APPLICATION_PATH”作为引用,因为它在虚拟主机和命令行使用上更可靠。