我正在为 ZF3 应用程序(由 PHPUnit 和 驱动zendframework/zend-test
)编写功能/控制器测试。像这样:
public function testWhatEver()
{
$this->dispatch('/');
$this->assertResponseStatusCode(Response::STATUS_CODE_200);
}
它工作得很好。但是现在我遇到了一个案例,我需要使用多个互斥配置来测试应用程序。
例如,“身份验证”案例:应用程序提供了多种身份验证方法(比如说:AuthA
、AuthB
、AuthC
)。(这可以通过auth.type
在配置文件中设置 ' 值来配置。)我想测试它们中的每一个。这意味着,在/config/autoload/test/*{local|global}.php
. 我需要能够为每个测试操作它们(在我调用该dispatch(...)
方法之前)。
如何操作控制器测试的应用程序配置/来自控制器测试(动态)?
如果找不到更好的解决方案,可能的解决方法是file_put_contents(...)
在每次测试之前编辑配置文件(通过使用或类似的东西)。但这有点难看(而且很慢)。