1

PHP単体テストでNetBeans 7.3を使用しています。

テストファイルの作成が機能します。右クリックでテスト ファイルを作成できます: ツール -> PHP 単体テストの作成。Test フォルダ (filenameTest.php) に新しいテストが作成されます。テスト (Ctr+F6) を実行すると、出力ウィンドウに、テストしようとしているファイルが見つからないというエラーが表示されます。元のファイルをテスト ファイルに include_once すると、すべてが機能し、テストを実行できます。

その include_once 行を各 testFile に手動で追加したくありません。NetBeans で自動的にそれを行う方法はありますか? または、bootstrap ファイルおよび/または phpunit.xml ファイルを構成して、元のファイルを testfile に含めなくても機能するようにするにはどうすればよいですか?

前もって感謝します。

4

1 に答える 1

3

bootstrap.phpテストするクラスをロードするオートローダーを登録するファイルを tests フォルダーに作成できます。次に、次の phpunit.xml ファイルを作成します。

<phpunit bootstrap="bootstrap.php">
</phpunit>

オートローダを登録するのが最も簡単な解決策です。そうすると、ファイルをインクルードすることを覚えておく必要がなくなります。また、NetBeans を使用していない場合でも、新しいテストを作成する際に問題が発生することはありません。

bootstrap.php の内部は次のようになります。

function autoloader($className) {
    *** do logic to set path of file for the class ***
    $classPath = "/base/path/for/file/" . $className;
    require_once($classPath);
}

spl_autoload_register('autoloader');
于 2013-05-24T18:29:04.973 に答える