警告包括Magento项目中的TestCase phpunit

时间:2015-09-04 15:21:03

标签: magento phpunit

我使用phpunit在magento的项目中进行测试。 问题是我在magento中找到了这个目录:

magento/
-tests/
--integration/bootstrap.php
---Training/
----Example/
-----Helper/DataTest.php

所以,我有一个bootstrap.php,在这个文件中我关闭了我测试的警告:

require_once __DIR__ . '/../../app/Mage.php';
Mage::setIsDeveloperMode(true);
Mage::app();

$handler = set_error_handler(function () {});
set_error_handler(function ($errno, $errstr, $errfile, $errline) use ($handler)
{
    if (E_WARNING === $errno
        && 0 === strpos($errstr, 'include(')
        && substr($errfile, -19) == 'Varien/Autoload.php'
    ) {
        return null;
    }
    return call_user_func($handler, $errno, $errstr, $errfile, $errline);
});

如果此代码在函数setUpBeforeClass()内部的DataTest.php内部,一切正常,但是当我创建bootstrap.php并在控制台中执行时:

phpunit --bootstrap tests/integration/bootstrap.php tests/integration/

我得到了以下答案:

Fatal error: Uncaught exception 'Exception' with message 'Warning: include(PHPUnit\Extensions\Story\TestCase.php): failed to open stream: No such file or directory  in C:\wamp\www\magento\lib\Varien\Autoload.php on line 94' in C:\wamp\www\magento\app\code\core\Mage\Core\functions.php on line 245

Exception: Warning: include(PHPUnit\Extensions\Story\TestCase.php): failed to open stream: No such file or directory  in C:\wamp\www\magento\lib\Varien\Autoload.php on line 94 in C:\wamp\www\magento\app\code\core\Mage\Core\functions.php on line 245

我在本地服务器的bin \ php \ php5.5.12(在Windows中)获得了phpunit,我可以在任何目录中访问。

所以,我不明白发生了什么......因为我不需要修改magento的核心来禁用警告。

有人可以帮我理解吗? 谢谢大家!! :)

1 个答案:

答案 0 :(得分:1)

您的自动加载器正在尝试加载它不负责的类。