2012-03-09 8 views
5

私は同様の問題を閲覧しましたが、役に立たないです。私はPHP 5.3.6とphpunit version 3.6.10を実行しています。インストール場所が重複した場合PHPUnitが必要なファイルを開くことに失敗しました

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を再インストールして、私はわからないんだけど、実行しているときにことが表示されます:私は次のエラーが表示さ

require_once 'PHPUnit/Framework.php'; 

class UserTest extends PHPUnit_Framework_TestCase { 
} 

:簡単なテストを実行しようとするとwhich phpunitの場合、パスは/usr/bin/phpunitです。ただし、/Users/user/pear/bin/phpunitにもインストールされているようです。 すべてのチャンネルを更新してPEARとPHPUnitを再インストールしようとしましたが、問題は解決していません。私はOSX Lionを実行しています。どんな助けでも大歓迎です。

+0

「PHPUit/Framework.php」 - 「n」が入力されていません。 – hakre

+0

PEARを再インストールする前に、まずエラーメッセージを*読む*でしょう。それは何がうまくいかなかったかを伝えます。私も上記のコメントであなたに言った。 – hakre

+1

@hakre - 申し訳ありませんが、それは(コピーして貼り付けるのではなく)エラーを打ち込む私のタイプミスでした。 PHPUnitでは、もはや明示的にFrameworkクラスを要求する必要はなくなりました。私は何とか古い文書を読んでいたので、なぜそれが機能していないのか混乱しました。ご協力いただきありがとうございます。 – naivedeveloper

答えて

15

だけ

require_once 'PHPUnit/Framework.php'; 

行を削除し、すべてが動作するはずです。

include/requireこれ以上(少なくとも)PHPUnit 3.6以降のPHPUnitに関係するものはなく、そのファイルがディストリビューション内に存在しないため、そのファイルを含めることはできません。

PHPUnitのランナーは、PHPUnitのが必要とするすべてのものをブートストラップの世話をします:)

+2

ありがとう、それは私が今見ているものです。何とか、明らかに、私はPHPUnitサイトの古いドキュメントや何かを見つけました。なぜなら、そのファイルをrequire'ingしていたからです。ご協力いただきありがとうございます。 – naivedeveloper

+0

ハハハハア。本当に素晴らしい答えです。この問題を解決するために一時間を費やした後)=)+1)) –

1

他の人が指摘したように、Framework.phpがもはや必要とされていません。

いずれにしても、すでに多くのテストファイルが書かれていて、includeステートメントがある場合、それらを修正するのは面倒な作業になります。私が直面しなければならなかったケースでした。

すぐに回避する必要がある場合は、空のFramework.phpファイルを作成してください。これで問題は解決します。 PHPUnitディレクトリの下にFramework.phpという名前の空のファイルを作成します。 (例:at:/usr/share/php/PHPUnit/Framework.php)。

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

関連する問題