Я использую ведение журнала БД в Cake 2.1, который прекрасно работает.
Проблема, с которой я сталкиваюсь, заключается в том, что при запуске модульных тестов все журналы по-прежнему отправляются в живую базу данных, а не в тестовую базу данных..
Все другие взаимодействия с БД идут на тестирование, кроме ведения журнала.
У меня есть созданное и импортированное в тестовый файл приспособление журнала.
Вот мой регистратор базы данных (/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);
}
}
Я уверен, что мне здесь не хватает некоторых базовых настроек, но я не могу понять это ради своей жизни.