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