2010-02-25 40 views
0

我正在編寫和測試一個類加載程序組件,它可以多次實例化,並具有各種類名稱及其相關路徑之間的映射。每個ClassLoader應該作爲特定包的加載器。PHPUnit - 測試文件包含方法(包括,要求,require_once)

是否有一種簡單,不引人注目的方式來測試或模擬包含由ClassLoader處理的文件?

讓我用最簡單的可能裝載機澄清:

class TestTwoPackageLoader implements IPackageLoader 
{ 
private $directory; 

public function register() 
{ 
    spl_autoload_register(array($this, 'loadClass')); 
    $this->directory = dirname(__FILE__); 
} 

public function loadClass($class) 
{ 
    if (isset($this->classes[$class])) 
    include $this->directory.'/'.$this->classes[$class]; 
} 

private $classes = array(
    'SecClass' => 'test_two/SecClass.php', 
    'ThClass' => 'test_two/ThClass.php', 
); 
} 

回答

2

我不能肯定,如果你要測試的語言功能,而不是你自己的代碼。也就是說,假設包含的文件定義了已知的類或函數,則可以通過class_existsfunction_exists來測試是否成功包含。