首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在2中的测试上下文中向Config服务提供信任?

如何在2中的测试上下文中向Config服务提供信任?
EN

Stack Overflow用户
提问于 2017-06-23 19:37:50
回答 1查看 317关注 0票数 0

我有一个ZF2应用程序,希望为in编写一些集成测试。我使用的是PHPUnit v6 (没有zend-test)。设置PHPUnit并实现Bootstrap类。一切都在运转。

对于正常的请求,框架会扫描配置文件夹(通常在config/application.config.php['module_listener_options']['config_glob_paths']中定义),并为我合并所有的配置信息。但是现在我处于测试上下文中,需要一些来自自定义配置文件(例如config/autoload/module/audit-logging.local.php)的信任--并且无法找到如何将它们添加/合并到/与其他配置文件合并。

如何在运行PHPUnit测试时集成来自自定义配置文件的信任,并使它们可供应用程序使用?

EN

回答 1

Stack Overflow用户

发布于 2017-06-25 19:13:22

创建特定于环境的配置文件如何,例如:

代码语言:javascript
复制
config
├── application.config.php
├── autoload
│   └── global.php
└── environment
    ├── development.php
    ├── production.php
    └── testing.php

然后将config/application.config.php调整为:

代码语言:javascript
复制
return [
    'modules' => $modules,
    'module_listener_options' => [
        'config_glob_paths' => [
            __DIR__ . '/autoload/{,*.}{global,local}.php',
            __DIR__ . '/environment/' . (\getenv('APPLICATION_ENVIRONMENT') ?: 'production') . '.php',
        ],
        'module_paths' => [
            __DIR__ . '/../module',
            __DIR__ . '/../vendor',
        ],
    ],
];

现在您所需要做的就是配置APPLICATION_ENVIRONMENT环境变量,并将其设置为testing。然后,您可以在config/environment中使用相应的配置文件为特定环境配置应用程序。

代码语言:javascript
复制
<phpunit>
    <php>
        <env name="APPLICATION_ENVIRONMENT" value="testing" />
    </php>
    <testsuites>
        <testsuite name="Integration Tests">
            <directory>.</directory>
        </testsuite>
    </testsuites>
</phpunit>

对我来说很好。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44728813

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档