проблемы с относительными URI, использующими Zend_Test - PullRequest
1 голос
/ 29 ноября 2010

Я впервые настраиваю модульное тестирование в своем приложении 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 () пытается найти, например, «/ css / full» относительно корня документа, который, по-видимому, не совпадает со значением для тестов и приложения.Какой лучший способ решить эту проблему?Я мог бы добавить в условные выражения что-то другое, когда APPLICATION_ENV = "testing", но я не уверен, что это будет работать вопреки тому, чего должна достичь настройка тестирования.

1 Ответ

2 голосов
/ 29 ноября 2010

Переменная среды 'DOCUMENT_ROOT' будет устанавливаться только вашим веб-сервером. Возможно, вы захотите использовать «APPLICATION_PATH» в качестве ссылки, поскольку он более надежен для виртуальных хостов, а также для использования в командной строке.

...