在ZF2中PHp单元测试错误'未定义索引:/ config/autoload/global.php中的SERVER_NAME'

时间:2015-01-07 13:50:23

标签: zend-framework2 phpunit

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

我已按照http://framework.zend.com/manual/current/en/tutorials/unittesting.html

的步骤操作

当我跑:/ var / www / AHA / CDP / module / Cart / tests $ phpunit 来自终端的我得到以下输出:

Sebastian Bergmann撰写的PHPUnit 3.7.28。

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

电子

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

有1个错误:

1)购物车\ tests \ Cart \ Controller \ CartControllerTest :: testIndexActionCanBeAccessed 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

FAILURES! 测试:1,断言:0,错误:1。

以下是我的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",
    );
?>

我放置了$ _SERVER [&#39; SERVER_NAME&#39;] =&#39; myproject.com&#39 ;;在global.php的开头

然后我得到了以下输出:

Sebastian Bergmann撰写的PHPUnit 3.7.28。

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

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

1 个答案:

答案 0 :(得分:7)

您可以在phpunit.xml文件中使用以下示例设置不同的$ _SERVER参数。

<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>