PHPunit - 缺少类,虽然加载了autoload.php

时间:2014-08-04 19:57:57

标签: phpunit autoload bootstrapping

我有以下文件结构:

  • 包括
    • class.Klasse.php
  • SRC
    • autoload.php
  • 测试
    • KlasseTest.php

此结构位于项目文件夹中。在linux shell上,在这个文件夹中,我输入以下命令行:

phpunit --bootstrap src/autoload.php tests/KlasseTest.php

命令行向我显示:

PHPUnit 4.1.4 by Sebastian Bergmann.

PHP Fatal error:  Class 'Klasse' not found in /home/doug/workspace/PHPunit/tests/KlasseTest.php on line 7

我的autload.php:

<?php
function __autoload($class_name) {
   include 'includes/class.' . $class_name . '.php';
}

我的KlasseTest.php:

<?php
class KlasseTest extends PHPUnit_Framework_TestCase {
  public function testWertvergleich() {
    $o = new Klasse();
  }
}

我的课.Klasse.php:

<?php
class Klasse {
  public function __construct() {

  }
}

我不知道为什么我收到上述信息。

1 个答案:

答案 0 :(得分:0)

src/autoload.php中,使用:

function __autoload($class_name) {
    include __DIR__ . '/../includes/class.' . $class_name . '.php';
}

自动加载器搜索相对于autoload.php文件位置的目录中的类。 __DIR__确保文件包含的起点始终是autoload.php的目录 - 从那里,您向上移动一个目录(/..),然后在includes内。目录