Zend framework2 PHp单元测试错误';未定义的索引:服务器名称位于/config/autoload/global.php';在ZF2中

Zend framework2 PHp单元测试错误';未定义的索引:服务器名称位于/config/autoload/global.php';在ZF2中,zend-framework2,phpunit,Zend Framework2,Phpunit,我刚刚开始使用Zend framework 2。我想为我的购物车模块设置单元测试。 我遵循了的步骤 当我跑步时 :/var/www/AHA/CDP/module/Cart/tests$phpunit 从终端我得到以下输出: <?php define('SITE_URL', 'http://' . $_SERVER['SERVER_NAME'].'/'); define('JS_URL', 'http://' . $_SERVER['SERVER_NAME'].'/js/')

我刚刚开始使用Zend framework 2。我想为我的购物车模块设置单元测试。

我遵循了的步骤

当我跑步时 :/var/www/AHA/CDP/module/Cart/tests$phpunit 从终端我得到以下输出:

<?php
    define('SITE_URL', 'http://' . $_SERVER['SERVER_NAME'].'/');
    define('JS_URL', 'http://' . $_SERVER['SERVER_NAME'].'/js/');
    define('CSS_URL', 'http://' . $_SERVER['SERVER_NAME'].'/css/');
    define('IMG_URL', 'http://' . $_SERVER['SERVER_NAME'].'/img/');
    return array(
        'cart_webservice_url' => "http://" . $_SERVER['SERVER_NAME'] . "/ecommercewebservices",
    );
?>
塞巴斯蒂安·伯格曼著,第3.7.28页

从/var/www/ZF2Sample/module/Cart/tests/phpunit.xml读取配置

E

时间:146毫秒,内存:5.50Mb

有1个错误:

1) Cart\tests\Cart\Controller\CartControllerTest::TestIndexAction可以访问 include(/var/www/ZF2Sample/module/Admin/config/。/view/error/index.phtml):无法打开流:没有这样的文件或目录

/var/www/ZF2Sample/vendor/zendframework/zendframework/library/Zend/View/Renderer/PhpRenderer.php:506 /var/www/ZF2Sample/vendor/zendframework/zendframework/library/Zend/View/Renderer/PhpRenderer.php:506 /var/www/ZF2Sample/vendor/zendframework/zendframework/library/Zend/View/View.php:205 /var/www/ZF2Sample/vendor/zendframework/zendframework/library/Zend/View/View.php:233 /var/www/ZF2Sample/vendor/zendframework/zendframework/library/Zend/View/View.php:198 /var/www/ZF2Sample/vendor/zendframework/zendframework/library/Zend/Mvc/View/Http/DefaultRenderingStrategy.php:102 /var/www/ZF2Sample/vendor/zendframework/zendframework/library/Zend/EventManager/EventManager.php:468 /var/www/ZF2Sample/vendor/zendframework/zendframework/library/Zend/EventManager/EventManager.php:207 /var/www/ZF2Sample/vendor/zendframework/zendframework/library/Zend/Mvc/View/Http/DefaultRenderingStrategy.php:112 /var/www/ZF2Sample/vendor/zendframework/zendframework/library/Zend/EventManager/EventManager.php:468 /var/www/ZF2Sample/vendor/zendframework/zendframework/library/Zend/EventManager/EventManager.php:207 /var/www/ZF2Sample/vendor/zendframework/zendframework/library/Zend/Mvc/Application.php:352 /var/www/ZF2Sample/vendor/zendframework/zendframework/library/Zend/Mvc/Application.php:327 /var/www/ZF2Sample/vendor/zendframework/zendframework/library/Zend/Test/PHPUnit/Controller/AbstractControllerTestCase.php:288 /var/www/ZF2Sample/module/Cart/tests/Cart/Controller/CartControllerTest.php:30

失败! 测试:1,断言:0,错误:1

下面是my global.php:

<?php
    define('SITE_URL', 'http://' . $_SERVER['SERVER_NAME'].'/');
    define('JS_URL', 'http://' . $_SERVER['SERVER_NAME'].'/js/');
    define('CSS_URL', 'http://' . $_SERVER['SERVER_NAME'].'/css/');
    define('IMG_URL', 'http://' . $_SERVER['SERVER_NAME'].'/img/');
    return array(
        'cart_webservice_url' => "http://" . $_SERVER['SERVER_NAME'] . "/ecommercewebservices",
    );
?>

我把$\u SERVER['SERVER\u NAME']='myproject.com';在global.php的开头

然后我得到以下输出:

<?php
    define('SITE_URL', 'http://' . $_SERVER['SERVER_NAME'].'/');
    define('JS_URL', 'http://' . $_SERVER['SERVER_NAME'].'/js/');
    define('CSS_URL', 'http://' . $_SERVER['SERVER_NAME'].'/css/');
    define('IMG_URL', 'http://' . $_SERVER['SERVER_NAME'].'/img/');
    return array(
        'cart_webservice_url' => "http://" . $_SERVER['SERVER_NAME'] . "/ecommercewebservices",
    );
?>
塞巴斯蒂安·伯格曼著,第3.7.28页

从/var/www/AHA/CDP/module/Cart/tests/phpunit.xml读取配置


我搜索了很多,但没有找到任何答案。请建议。

您可以使用phpunit.xml文件中的以下示例设置不同的$\u服务器参数

<phpunit>
....
    <php>
        <server name='HTTP_HOST' value='http://localhost' />
        <server name="SERVER_NAME" value="http://foo.bar"/>
        <server name="SERVER_PORT" value="80"/>
        <server name="REMOTE_ADDR" value="127.1.2.3"/>
    </php>
....
</phpunit>

....
....