如何使用Zend_Test_PHPUnit_ControllerTestCase
最好地測試接收文件上傳的控制器操作?使用Zend Framework進行文件上傳和單元測試
理想情況下,$this->getRequest()->setPost()
會在數據數組中使用一個文件名,但這似乎不被支持。
我會在這個階段願意在命令行上引導/運行我的應用程序,並創建一個請求對象傳遞給前端控制器。這將繞過Zend_Test_PHPUnit_ControllerTestCase
,但我隨後可以通過ControllerTestCase中的後續$this->dispatch('/some/url')
檢查文件是否已正確上載。但是,我也很難理解如何使用這種方法將文件導入請求對象。
我現在唯一能想到的就是通過指向應用程序的命令行(APPLICATION_ENV='testing'
)啓動一個HTTP服務器,並通過Zend的Http客戶端或CURL進行文件上傳。這並不會讓我感到非常優雅。
其他人不得不處理這個問題?
謝謝!
感謝您的指針! 代碼沒什麼特別,控制器動作實例化一個表單,檢查請求是否是POST,如果是:對文件做些事情,並將其他字段放入數據庫,否則返回帶有表單的視圖。 通常,ControllerTestCase在測試這類控制器代碼方面效果很好,但它沒有處理文件的機制。我會試試這個$ _FILES的想法。 我很想看到一個控制器代碼測試情況的例子,如果有人有一個例子來分享! – user131056 2009-07-01 08:07:39