2010-02-25 122 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来测试是否成功包含。