【问题标题】:PHPUnit - testing file inclusion methods (include, require, require_once)PHPUnit - 测试文件包含方法(include、require、require_once)
【发布时间】:2010-02-25 17:35:41
【问题描述】:

我正在编写和测试一个 ClassLoader 组件,它可以被多次实例化,在类名及其相关路径之间具有各种映射。每个 ClassLoader 都应该作为特定包的加载器。

是否有一种简单、不显眼的方法来测试或模拟包含由 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',
 );
}

【问题讨论】:

    标签: php unit-testing phpunit server-side-includes


    【解决方案1】:

    我不确定您是否应该测试语言功能,而不是您自己的代码。也就是说,您可以通过class_existsfunction_exists 测试是否成功包含,假设包含的文件定义了已知的类或函数。

    【讨论】:

      猜你喜欢
      • 2011-12-08
      • 2012-07-08
      • 2016-09-21
      • 2012-10-19
      • 1970-01-01
      • 2011-01-25
      相关资源
      最近更新 更多