2013-03-25 158 views
3

有誰知道使用MySQL存儲過程的CakePHP 2.3.1應用程序開發單元測試的正確方法嗎?單元測試使用存儲過程的CakePHP應用程序

我看過蛋糕網站,但關於測試的文檔並不是很大。我已經檢查過SO和Google - 似乎無法找到問題/情況。

單元測試使用的是燈具,而不是真實的數據庫。

任何幫助/指針真的很感激!

J

回答

2

重載Fixture的create()方法。不要忘記在create procedure語句中關閉END之後調用父項的create()並刪除最終分隔符。

例如爲:

public function create($db){ 
    parent::create($db); 
    // create stored procedures ... 
    $db->execute("CREATE PROCEDURE … <insert SQL here> … END", array('log' => false)); 
} 

的create()方法可以執行你需要創建夾具表後的任何陳述。

我希望它能工作

+0

謝謝,問題解決了! – JasonB 2013-03-26 10:49:39

+0

一些反饋,爲其他人完成答案: 除非你想在測試之後離開存儲過程(並且第二次導致sql錯誤),否則也可以在重寫的drop()中放入一個「drop procedure」語句,方法爲夾具。 注意:您的db用戶需要在測試數據庫中使用alter priv! J – JasonB 2013-03-26 11:31:24