我有一个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测试时集成来自自定义配置文件的信任,并使它们可供应用程序使用?
发布于 2017-06-25 19:13:22
创建特定于环境的配置文件如何,例如:
config
├── application.config.php
├── autoload
│ └── global.php
└── environment
├── development.php
├── production.php
└── testing.php然后将config/application.config.php调整为:
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中使用相应的配置文件为特定环境配置应用程序。
<phpunit>
<php>
<env name="APPLICATION_ENVIRONMENT" value="testing" />
</php>
<testsuites>
<testsuite name="Integration Tests">
<directory>.</directory>
</testsuite>
</testsuites>
</phpunit>对我来说很好。
https://stackoverflow.com/questions/44728813
复制相似问题