【发布时间】:2013-02-10 15:59:01
【问题描述】:
我正在实现一些类,但总是出现以下错误:
PHP Fatal error: Class 'Foo\Bar\Filter' not found in /blabla/filterTest.php on line 10
我有一个这样的测试(filterTest.php):
<?php
namespace Foo\Tests\Bar\FilterTest;
use Foo\Bar\Filter;
class FilterTest extends \PHPUnit_Framework_TestCase {
public function testSth() {
new Filter;
}
}
还有一个像下面这样的过滤器类(filter.php):
<?php
namespace Foo\Bar;
class Filter {
public function __construct() {
echo 'foo';
}
}
有什么想法吗? o.O
【问题讨论】:
-
@OneTrickPony 我需要包含该文件吗?我虽然没有必要使用命名空间......我也没有任何自动加载测试。
-
当然可以,PHP 不能神奇地猜测要包含的文件。如果命名空间是文件名的别名,那么它们的声明就没有必要了,不是吗?
-
@OneTrickPony 好的,要学习新东西 :) 无论如何,仍然无法正常工作...我创建了一个自动加载器文件,以便包含该文件。但是在执行测试时,它首先抛出一个错误,然后进入自动加载函数(我在加载函数中看到了一个回显)......我应该如何处理呢?自动加载器文件使用 phpunit 的引导选项加载。
-
@OneTrickPony 哦,我的错>.
标签: php namespaces tdd classnotfound