2011-04-20 64 views
2

我在CakePHP 1.3中使用單元測試。我的應用程序使用一個非常簡單的ErrorHandler作爲taught by the book。如果出現問題,我的一個模型將調用$this->cakeError('myError')正在拋出cakeError()的測試

現在我想一個測試用例我的模型,來檢查,如果 - 錯誤的數據給出 - 錯誤處理程序正確調用。

SimpleTest的提供expectError()但這似乎對標準的PHP錯誤進行。但CakePHP的錯誤處理是另一回事,但這些錯誤不會被expectError()捕獲。如果在測試中調用cakeError(),則會顯示錯誤消息,而不是測試結果。

我如何測試預計cakeErrors?

回答

0

你也許可以使用部分模擬和嘲笑cakeError方法。然後,您可以使用expectOnce來聲明調用cakeError方法。請參閱documentation以獲取示例和進一步解釋。

+0

謝謝,這聽起來像是要走的路。不過,從來沒有碰到過嘲笑。在我創建了Mock AppError類之後,你知道我需要在哪裏創建它的一個實例,所以Cake實際上使用它來代替原始的實例嗎? – pixelistik 2011-04-20 22:09:08

+0

我不會嘲笑AppError類,因爲您無法輕鬆替換原始實例。相反,我會模擬你的模型的cakeError()方法。 – dhofstet 2011-04-21 05:03:22

+0

當然,很好,那會有訣竅。你介意更新你的答案,添加這些特定的信息嗎? – pixelistik 2011-04-22 12:02:04

相關問題