我試圖單元測試我的控制器,但我在互聯網上找到的每個教程都說我應該使用$ this-> dispatch(「controller/action」)來運行我想測試的特定動作。但是像這樣做,我不能嘲笑任何類似數據映射器或其他方法的其他調用。如何使用PHPUnit測試和模擬zend框架控制器?
爲了解決這個問題,我試圖讓控制器類的實例,然後直接打電話給我想測試方法,做起來這個樣子,我得到一個錯誤:
Zend_Exception: Setting request object manually is not allowed
林甚至不知道這是正確的方法,因爲我真的不知道我將如何測試這樣做的事情。
我的測試用例:http://pastie.org/1812717
我ControllerTestCase:http://pastie.org/1812722
任何幫助,將不勝感激。 謝謝。
在控制器的init()方法的控制器類,IM設置屬性$這 - > _mapper與映射器的實例,但對於其他映射器即時調用控制器方法內的「新的MyMapper」。我想在BasicController類或類似的東西中創建一個新的方法調用getMapper()。 但正如我所說,當我試圖獲得一個實例時,我得到這個錯誤,所以我無論如何不能這樣做。 – fiunchinho 2011-04-19 21:52:50