【问题标题】:PHPUnit code coverage in NetBeans fails with Yaml dependencyNetBeans 中的 PHPUnit 代码覆盖因 Yaml 依赖性而失败
【发布时间】:2014-03-19 10:54:04
【问题描述】:

我试图让 NetBeans 中的代码覆盖率正常工作,但我遇到了 PHPUnit 给我的错误:

"/usr/bin/php" "/usr/bin/phpunit" "--colors" "--log-junit" "/tmp/nb-phpunit-log.xml" "--bootstrap" "/home/btekielski/Dokumenty/Projects/PlanQ/src/tests/bootstrap.php" "--coverage-clover" "/tmp/nb-phpunit-coverage.xml" "/usr/local/netbeans-7.4/php/phpunit/NetBeansSuite.php" "--run=/home/btekielski/Dokumenty/Projects/PlanQ/src/tests"
PHPUnit 3.7.28 by Sebastian Bergmann.

PHP Fatal error:  Uncaught exception 'PHPUnit_Framework_Error_Warning' with message 'include_once(Symfony/Component/Yaml/Yaml.class.php): failed to open stream: No such file or directory' in /home/user/Projects/src/tests/bootstrap.php:65
Stack trace:

我在引导程序中有一个自定义自动加载器功能,如下所示:

function loadClass($class) {
    if (empty($class) || $class == 'parent') {
        return;
    }
    $throw = false;

    if (strpos($class, 'PHPExcel') !== false) {
        return;
    }

    $file = str_replace('\\', DIRECTORY_SEPARATOR, $class) . CLASS_FILE_EXTENSION;
    include_once($file);

    if (!class_exists($class, false) && !interface_exists($class, false)) {
        if ($throw) {
            trigger_error(
                    "Class file '" . $file . "' do not provide class '" .
                    $class . "'", E_USER_ERROR
            );
        }

        return;
    }
}

我会很感激任何提示...

【问题讨论】:

  • 您的 PHPUnit 是通过引导程序使用加载程序还是在 NetBeans 中配置?
  • 通过 bootstrap.php。
  • 你调用的 include_once() 有一个 Symphony 的相对路径,表明它在当前目录之下。是这种情况,还是您在错误的目录中无法使用此相对路径?
  • 就是这样,我更新了引导程序以包含供应商路径(来自作曲家),它工作正常。谢谢!
  • 然后转到答案,以便您可以接受,如果其他人有同样的问题,他们可以更容易地找到该线程。很高兴它对你有用。

标签: netbeans phpunit code-coverage xdebug


【解决方案1】:

您调用的 include_once() 具有 Symphony 的相对路径,表明它位于当前目录之下。是这种情况,还是您在错误的目录中无法使用此相对路径?

【讨论】:

    猜你喜欢
    • 2011-03-09
    • 2013-10-25
    • 2012-05-04
    • 2018-06-21
    • 1970-01-01
    • 2013-05-07
    • 2012-08-04
    • 1970-01-01
    • 2015-03-27
    相关资源
    最近更新 更多