PHPUnit路径问题

时间:2012-06-26 00:14:07

标签: php zend-framework phpunit include-path

我正在写一个ZF应用程序。我在库目录中有一些抽象的父类。 Netbeans可以为子类生成测试框架没有问题,我可以运行测试没问题。

后来我决定将抽象父项移出库,进入应用程序目录(以提高可读性)。我相应地更新了我的应用程序代码,它运行没有问题。

但是,现在当我使用netbeans为子类生成测试框架时,它会发出致命错误,说它无法找到父类。然后我手动构建了一个测试类并从命令行运行它,并且PHPUnit也给出了同样的错误。

要使此路径正常工作,我需要做什么?在PHPUnit引导程序中,我尝试将Application目录添加到include路径,并使用Zend Autoloader将Application注册为命名空间。我不认为这是推荐的做法,无论如何它都失败了......

我真的很难解决路径问题,查找文件等等......

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

好的,所以我可以将类从库移到核心代码目录,核心代码发现它们没有问题,因为它们符合ZF自动编写的标准命名约定。

其他应用程序(例如PHPUnit)将无法找到它们。我可以通过设置自动加载相同的ZF来解决这个问题。或者,我可以将所需文件与require_once合并(这将首先取消使用自动加载)。

所以,似乎我最好的方法是将共享类放回库中。我原来的PHPUnit引导程序将库前缀添加到ZF自动加载器中,所以我很高兴。

总而言之,我刚学会了另一个很好用的图书馆。

[编辑:]另一种选择......

我的测试类是boostrapping Zend Application,它为PHPUnit设置自动加载。这样做的唯一缺点是PHPUnit(通过我的netbeans IDE)无法为我创建骨架测试。我想我必须忍受这一点。