0

私のphpアプリケーションをphpunitでテストしたいと思います。私の問題は、 require_once がテストしたいファイルを見つけられないことです。次のエラーが表示されます。

Warning:
require_once(C:\MyProject\phpunit-tesztek\include/../include/form.php):
failed to open stream: No such file or directory in
C:\MyProject\phpunit-tesztek\include\FormTest.php on line 4

そのため、include/../include/form.php で form.php ファイルを検索すると、何が問題なのかがわかります。

私はこのコードを使用しました:

require_once 'PHPUnit/Autoload.php';
require_once(__DIR__.'/../include/form.php');

テストファイルは C:\MyProject\phpunit-tesztek\include\FormTest.php にあります

テストしたいファイルは次のとおりです: C:\MyProject\include\form.php

何が問題ですか?

4

3 に答える 3

4

問題は相対パスです。は__DIR__、末尾の区切り記号なしでファイルが存在するディレクトリを使用します。次に、パスを相対パス ( /../) に変更して、1 つ上のディレクトリに移動します。

マニュアル エントリを参照してください -> PHP マニュアルについては__DIR__

__DIR__ will return C:\MyProject\phpunit-tesztek\include

あなたはC:\MyProject\include\パスを使用しようとしています

__DIR__ . '/../../include/Form.php';

ソース コード ファイルの現在のディレクトリ (絶対ディレクトリ) を取得して、その場所から相対パスを移動できるようにするため、通常はdirname(__FILE__)自分自身を使用します。

于 2013-10-02T14:59:49.890 に答える
0

削除してみてください../

require_once(DIR.'include/form.php');

于 2013-10-02T09:26:16.807 に答える