hack のためのネタ帳, etc,,,

Tips とか疑問点とか

テストのクラス名
PEAR の命名規則が適用される模様。
クラス名に '_'(アンダーバー、アンダースコア) が入っていると、ファイル検索時に '/' に置換されてしまうようで
$ phpunit foo_barTest
または
$ phpunit foo_barTest foo_barTest.php
等としてテストを実行しようした場合 foo/barTest.php から foo_barTest クラスを検索しようと試みる模様。
ファイル名に '_' を入れたい場合はどうすれば良いのだろう?

このページへのコメント

ソースコードを見る限り何か特別なオプションは用意されていないようです。
代わりに指定したファイルが見つからない場合にだけ所定の動作を行わせるようにコードを変更すればよいと思います。

/PEAR/PHPUnit/Runner/StandardTestSuiteLoader.php
80行前後

変更前
if (empty($suiteClassFile)) {
$suiteClassFile = str_replace(array('_', '::'), DIRECTORY_SEPARATOR, $suiteClassName) . '.php';
}

変更後
if (empty($suiteClassFile)) {
$suiteClassFile = $suiteClassName . '.php';
if (!is_file($suiteClassFile)) {
$suiteClassFile = str_replace(array('_', '::'), DIRECTORY_SEPARATOR, $suiteClassName) . '.php';
}
}

0
Posted by Aobara 2008年03月20日(木) 20:58:59 返信

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Wiki内検索

フリーエリア

管理人/副管理人のみ編集できます