2012-03-31 64 views
0

我在Cake 2.1中使用數據庫登錄,這很好用。CakePHP在單元測試期間登錄到實時數據庫

我遇到的問題是運行單元測試時,所有日誌仍然發送到實時數據庫而不是測試數據庫。

所有其他數據庫交互去測試,除了日誌記錄。

我確實創建了一個日誌夾具並將其導入到測試用例中。

這裏是我的數據庫記錄器(/Lib/Log/Engine/DatabaseLogger.php)

App::uses('CakeLogInterface', 'Log'); 

class DatabaseLogger implements CakeLogInterface 
{ 
    public function __construct($options = array()) 
    { 
     App::import('Model', 'Log'); 
     $this->Log = new Log; 
    } 

    public function write($type, $message) 
    { 
     $this->Log->create(); 

     $log['type'] = ucfirst($type); 
     $log['date'] = date('Y-m-d H:i:s'); 
     $log['message'] = $message; 

     return $this->Log->save($log); 
    } 
} 

我相信我在這裏缺少一些基本的設置,但我不知道這一點的生活我的。

+0

沒有人的得到了這個東西嗎? – 2012-04-05 00:02:47

+0

我遇到同樣的問題。你修好了嗎? – Alvaro 2012-04-12 09:18:31

+0

沒有。無法在任何地方獲得響應。我注意到,如果我沒有爲特定模型定義Fixtures,測試中的任何數據庫交互都將進入生產數據庫,但是這一次我難倒了。 – 2012-04-17 15:09:09

回答