【问题标题】:PHPUnit failed opening required filePHPUnit 未能打开所需的文件
【发布时间】:2012-03-26 12:30:05
【问题描述】:

我在 SO 上浏览过类似的问题,但无济于事。我正在运行 PHP 5.3.6 和 phpunit 版本 3.6.10。尝试执行简单测试时:

require_once 'PHPUnit/Framework.php';

class UserTest extends PHPUnit_Framework_TestCase {
}

我收到以下错误:

PHP Fatal error: require_once(): Failed opening required 'PHPUnit/Framework.php'
(include_path='.:/Users/username/pear/share/pear:/usr/lib/php/pear/:/Users/username/pear/share/pear/PHPUnit') in ...

重新安装PHPUnit时,不确定安装位置是否重复,但运行which phpunit时,路径似乎是:/usr/bin/phpunit。但是,它似乎也安装在/Users/user/pear/bin/phpunit 中。 我已经尝试更新所有频道并重新安装 PEAR 和 PHPUnit,但问题仍然存在。我在 OSX Lion 上运行。任何帮助将不胜感激。

【问题讨论】:

  • 你打错了:'PHPUit/Framework.php' - n 不见了。
  • 在重新安装 PEAR 之前,我会先阅读错误信息。它告诉你出了什么问题。我也在上面的评论中告诉过你。
  • @hakre - 抱歉,这是我输入错误时的拼写错误(而不是复制和粘贴)。错误在于 PHPUnit 不再要求您明确要求 Framework 类。我不知何故正在阅读旧文档,我对它为什么不起作用感到困惑。感谢您的帮助。

标签: php phpunit


【解决方案1】:

删除线

require_once 'PHPUnit/Framework.php';

一切都应该正常。

您不再需要 include/require 任何与 PHPUnit 相关的内容,因为(至少)PHPUnit 3.6 之后,您不能包含该文件,因为它不再存在于发行版中。

phpunit 运行器将负责引导 PHPUnit 所需的一切:)

【讨论】:

  • 谢谢,这就是我现在看到的。不知何故,显然,我偶然发现了 PHPUnit 站点上的一些旧文档或其他内容,因为它需要该文件。感谢您的帮助。
  • 哈哈哈哈。这真的是很棒的答案。在我花了一个小时解决这个问题之后 =) +1 =))
【解决方案2】:

正如其他人指出的那样,Framework.php 不再是必需的。

但无论如何,如果您已经编写了太多的测试文件并具有包含语句,那么修复它们将是一项繁琐的任务。这是我不得不面对的情况。

如果需要快速解决方法,请创建一个空的 Framework.php 文件。这将解决问题。 在 PHPUnit 目录下创建一个名为 Framework.php 的空文件。 (例如:在:/usr/share/php/PHPUnit/Framework.php)。

sudo touch /usr/share/php/PHPUnit/Framework.php

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-02-09
    • 2012-04-12
    • 1970-01-01
    • 2014-10-02
    • 1970-01-01
    • 2012-05-23
    • 1970-01-01
    相关资源
    最近更新 更多