如何在Zend Studio中使用PHPUnit Zend_Test& Doctrine2

时间:2012-02-29 09:06:19

标签: zend-framework doctrine-orm phpunit zend-studio zend-test

我可以使用CLI( phpunit --configuration phpunit.xml )来正常运行测试。

tests目录具有以下层次结构:


tests
├── application
│   ├── bootstrap.php
│   ├── controllers
│   │   └── ControllerTest.php
│   └── FirstTest.php
├── library
├── log
│   ├── report
│   └── testdox.html
└── phpunit.xml

文件中的内容

  1. phpunit.xml

    <phpunit bootstrap="./application/bootstrap.php" colors="true">
    <testsuite name="Webguide Unit Test">
        <directory>./</directory>
    </testsuite>
    
    <filter>
        <whitelist>
            <directory suffix=".php">../library/</directory>
            <directory suffix=".php">../application/</directory>
            <exclude>
                <directory suffix=".phtml">../application/</directory>
                        <file>../application/Bootstrap.php</file>
                            <file>../application/controllers/ErrorController.php</file>
            </exclude>
        </whitelist>
    </filter>
    
    <logging>
        <log highlowerbound="80" lowupperbound="50" highlight="true" yui="true" charset="UTF-8" target="./log/report" type="coverage-html"/>
        <log target="./log/testdox.html" type="testdox-html"/>
    </logging>
    </phpunit>
    
  2. 应用/ bootstrap.php中

    <?php
        error_reporting(E_ALL | E_STRICT);
    
        date_default_timezone_set('GMT');
    
        define('APPLICATION_ENV', 'testing');
    
        define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../../application'));
    
        define('APPLICATION_CONFIG', APPLICATION_PATH . '/configs/application.ini');
    
        set_include_path(implode(PATH_SEPARATOR, array(
            realpath(APPLICATION_PATH . '/../library'),
            get_include_path()
        )));
    
        require_once 'Zend/Loader/Autoloader.php';
    
        Zend_Loader_Autoloader::getInstance();
    
        require_once 'Zend/Application.php';
    
  3. (对于那些想要设置Zend Test的人,以下是参考文献:Unit Testing with Zend Framework 1.11 and PHPUnit

    当我在Zend Studio 9中运行测试时,我收到一条错误消息: “未执行任何测试。发生致命错误,手动停止启动或使用'die / exit'语句停止脚本执行”

    在控制台中,输出为:

      

    *编译错误:/home/coiby/ZendStudio/plugins/com.zend.php.phpunit_9.0.1.201112141951/resources/ZendPHPUnit.php第109行 - require_once()[function.require]:打开所需的失败'/ var / www / webguide / tests / controllers / ControllerTest.php'(include_path ='/ var / www / webguide / library:。:/ usr / share / php :: / var / www / webguide:')*

    根据上述信息,我将目录“controllers / ControllerTest.php”移到了上面,即“/var/www/webguide/tests/controllers/ControllerTest.php”现在存在。

    但是出现错误,控制台的输出是:

      

    *调试错误:   /webguide/library/Doctrine/Common/Cache/ApcCache.php第52行 - 调用未定义的函数Doctrine \ Common \ Cache \ apc_fetch()*

    怎么会发生这种情况?我已经通过pear安装了PHP APC,这个模块是phpinfo()的结果。并且可以通过CLI执行测试。我检查的另一件事是php include路径,我已经将/ usr / share / php添加到Zend Studio包含路径。

    有人会提出建议吗?

    谢谢!

0 个答案:

没有答案