2012-06-26 191 views
-1

我正在寫一個ZF應用程序。我在庫目錄中有一些抽象父類。 Netbeans可以爲子類生成測試框架沒有問題,我可以運行測試沒有問題。PHPUnit路徑問題

後來我決定將抽象父母移出庫並進入應用程序目錄(以提高可讀性)。我相應地更新了我的應用程序代碼,並且它沒有任何問題。

但是,現在當我使用netbeans爲子類生成測試框架時,它會發出致命錯誤,指出它找不到父項。然後我手動構建了一個測試類並從命令行運行它,而PHPUnit也給出了相同的錯誤。

我需要做些什麼才能使此路徑正常工作?在PHPUnit引導程序中,我嘗試將Application目錄添加到包含路徑中,並將Application註冊爲Zend Autoloader的命名空間。我不認爲這是一個推薦的做法,它無論如何失敗...

我確實與路徑問題,查找文件等鬥爭......

任何援助深表感謝。

回答

0

好的,我可以將庫中的類移動到核心代碼目錄,核心代碼發現它們沒有問題,因爲它們符合ZF自動化的標準命名約定。

其他應用程序(例如PHPUnit)將無法找到它們。我可以通過設置自動加載相同的ZF來解決這個問題。或者,我可以將必需的文件與require_once合併(這將首先否定自動加載的使用)。

因此,我認爲最好的辦法是將共享類放回庫中。我的原始PHPUnit引導程序將庫前綴添加到ZF自動加載器,所以我很好。總而言之,我剛剛學會了另一種用於圖書館的好方法。

[編輯:]另一種選擇......

我的測試類boostrapping Zend的應用程序,它設置爲PHPUnit的自動加載。這樣做的唯一缺點是PHPUnit(通過我的NetBeans IDE)無法爲我創建框架測試。我想我必須忍受這一點。