我正在写一个ZF应用程序。我在库目录中有一些抽象的父类。 Netbeans可以为子类生成测试框架没有问题,我可以运行测试没问题。
后来我决定将抽象父项移出库,进入应用程序目录(以提高可读性)。我相应地更新了我的应用程序代码,它运行没有问题。
但是,现在当我使用netbeans为子类生成测试框架时,它会发出致命错误,说它无法找到父类。然后我手动构建了一个测试类并从命令行运行它,并且PHPUnit也给出了同样的错误。
要使此路径正常工作,我需要做什么?在PHPUnit引导程序中,我尝试将Application目录添加到include路径,并使用Zend Autoloader将Application注册为命名空间。我不认为这是推荐的做法,无论如何它都失败了......
我真的很难解决路径问题,查找文件等等......
非常感谢任何帮助。
答案 0 :(得分:0)
好的,所以我可以将类从库移到核心代码目录,核心代码发现它们没有问题,因为它们符合ZF自动编写的标准命名约定。
其他应用程序(例如PHPUnit)将无法找到它们。我可以通过设置自动加载相同的ZF来解决这个问题。或者,我可以将所需文件与require_once合并(这将首先取消使用自动加载)。
所以,似乎我最好的方法是将共享类放回库中。我原来的PHPUnit引导程序将库前缀添加到ZF自动加载器中,所以我很高兴。
总而言之,我刚学会了另一个很好用的图书馆。
[编辑:]另一种选择......
我的测试类是boostrapping Zend Application,它为PHPUnit设置自动加载。这样做的唯一缺点是PHPUnit(通过我的netbeans IDE)无法为我创建骨架测试。我想我必须忍受这一点。