Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unit testing 相对uri的问题';s使用Zend_测试_Unit Testing_Zend Framework_Root - Fatal编程技术网

Unit testing 相对uri的问题';s使用Zend_测试

Unit testing 相对uri的问题';s使用Zend_测试,unit-testing,zend-framework,root,Unit Testing,Zend Framework,Root,我第一次在Zend Framework应用程序上设置单元测试(实际上这是我第一次进行单元测试) 我现在遇到的一个问题是,我使用视图帮助器来包含我的头脚本和链接: class Zend_View_Helper_HeadIncludes extends Zend_View_Helper_Abstract { public function headIncludes($type, $folder) { if($folder == "full" && APPLI

我第一次在Zend Framework应用程序上设置单元测试(实际上这是我第一次进行单元测试)

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

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()尝试查找相对于文档根的eg“/css/full”,这对于测试和应用程序来说似乎不是相同的值。解决这个问题的最佳方法是什么?我可以在APPLICATION_ENV=“testing”时添加一个条件来执行不同的操作,但不确定这是否会与设置测试的预期目标相反。

环境变量“DOCUMENT\u ROOT”仅由您的web服务器设置。您可能希望使用“APPLICATION_PATH”作为参考,因为它在虚拟主机和命令行使用中更可靠。

此外,不要忘记,如果您使用的是PHPUnit,您可以传入一个自定义引导文件来帮助设置您的环境。zend的一个小改动是使用APPLICATION_PATH。“//“公众”,但除此之外,这正是我需要的答案——干杯