2014-02-26 61 views
1

我正在嘗試使用laravel 4.1進行控制器測試而不觸及數據庫。所以即時通訊使用存儲庫模式,我嘲笑倉庫,並讓他們返回虛擬模型objetcs /虛擬模型集合。Laravel如何存根視圖呈現

問題是,視圖試圖使用模型關係等等......而且它失敗了,因爲關係無法工作,因爲數據庫是空的。

有沒有辦法繞過視圖呈現軌道做?

+1

你所說的「觀點試圖使用模型關係」是什麼意思?查看不應該知道傳遞給它的數據的內部細節。 – Gufran

+0

如果帖子有很多評論,則視圖可能會遍歷$ post-> comments。它觸發了一個查詢來檢索評論。由於我的數據庫沒有種子(並且我不想爲此僅種子),它可能會導致問題。 – Pierre

+0

您應該查看這裏的熱心加載的雄辯模型http://laravel.com/docs/eloquent#eager-loading,並在將數據傳遞到視圖之前預取數據倉庫中的數據,然後將數據收集傳遞到視圖,而不是模型本身。 – Gufran

回答

0

閱讀Laravel約testing environmentmocking

+0

當然,我知道測試環境,它與我的問題無關。我試圖嘲笑視圖門面,但我不能讓它工作,這就是爲什麼我問。 – Pierre

+0

這是相關的,因爲你說你不會觸摸數據庫。無論如何,改善問題以獲得更準確的答案。 – marcanuy