私は PHP に比較的慣れていないので、名前空間内でいくつかのコードを単体テストしようとしています。残念ながら、設定ファイルの定数定義が問題を引き起こしています。関連するコードは次のとおりです。
ディレクトリ構造は次のとおりです。
APITest
config.php
-/logging
-/test/logging
config.php のコード:
<?php
namespace APITest;
define('BASE_DIR', pathinfo(__FILE__, PATHINFO_DIRNAME));
APITest/test/logging/TestLogItem のコード:
namespace APITest\test\logging;
require_once( BASE_DIR . '/logging/LogItem.php');
class TestLogItem extends PHPUnit_Framework_TestCase {
public function testLogItemCreationSuccess(){
code
}
public function testLogItemCreationException(){
code
}
public function testGetLogEntry(){
code
}
エラーメッセージは次のとおりです。
PHP Notice: Use of undefined constant BASE_DIR - assumed 'BASE_DIR' in /var/test/APITest/test/logging/TestLogItem.php on line 6
PHP Warning: require_once(BASE_DIR/logging/LogItem.php): failed to open stream: No such file or directory in /var/test/APITest/test/logging/TestLogItem.php on line 6
PHP Fatal error: require_once(): Failed opening required 'BASE_DIR/logging/LogItem.php' (include_path='.:/usr/share/php:/usr/share/pear') in /var/test/APITest/test/logging/TestLogItem.php on line 6