簡體   English   中英

如何防止模塊在Zend Framework 2 phpunit測試中加載

[英]How to prevent module from being loaded in Zend Framework 2 phpunit test

我編寫了帶有Auth模塊的ZF2應用程序。 Auth模塊的設置在其Module.php文件中完成。

我在Zend Framework 2單元測試教程( http://framework.zend.com/manual/2.2/en/tutorials/unittesting.html )中進行了測試,但是使用了應用程序模塊進行測試。 在測試的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模塊中的某個函數引發了一個異常,因此我認為無論如何都將其加載。

我是否誤解了引導程序,有沒有辦法防止該模塊被加載?

也許這不是完美的解決方案,但是可以完成以下工作:將方法setUp替換為

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

    $this->setApplicationConfig($config);

    parent::setUp();
}

該陣列可以包括其他模塊。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM