2012-03-31 44 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

回答