0

我编写了一个带有 Auth 模块的 ZF2 应用程序。此 Auth 模块的设置在其 Module.php 文件中完成。

我在 Zend Framework 2 单元测试教程 ( http://framework.zend.com/manual/2.2/en/tutorials/unittesting.html ) 中设置了一个测试,但使用 Application 模块进行测试。在测试的 bootstrap.php 中,我只在配置中包含 Application 模块:

$config = array(
    'module_listener_options' => array(
        'module_paths' => $zf2ModulePaths,
    ),
    'modules' => array(
        'Application',
    )
);

在 phpunit.xml 我只包含了这个测试目录:

<phpunit bootstrap="Bootstrap.php">
    <testsuites>
        <testsuite name="myApplication">
            <directory>./ApplicationTest</directory>
        </testsuite>
    </testsuites>
</phpunit>

我希望不会加载 Auth 模块,因此应该为测试禁用它。但是我得到了 Auth 模块中的一个函数抛出的异常,所以我认为它无论如何都被加载了。

我是否误解了引导程序,有没有办法阻止该模块被加载?

4

1 回答 1

0

也许这不是完美的解决方案,但以下工作:将方法 setUp 替换为

public function setUp()
{
    $config = include '/path/to/config/application.config.php';
    $config['modules'] = array('Application');

    $this->setApplicationConfig($config);

    parent::setUp();
}

该阵列可以包括其他模块。

于 2013-07-11T19:39:25.290 回答