新旧バージョンの解説が入り混じってるので、若干問題あり。
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';
}
}