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);
}
}
我相信我在這裏缺少一些基本的設置,但我不知道這一點的生活我的。
沒有人的得到了這個東西嗎? – 2012-04-05 00:02:47
我遇到同樣的問題。你修好了嗎? – Alvaro 2012-04-12 09:18:31
沒有。無法在任何地方獲得響應。我注意到,如果我沒有爲特定模型定義Fixtures,測試中的任何數據庫交互都將進入生產數據庫,但是這一次我難倒了。 – 2012-04-17 15:09:09