Ich benutze DB Anmeldung in Cake 2.1, die funktioniert super.CakePHP Logging auf Live-DB während Unit Testing
Das Problem, das ich habe, ist, wenn Unit-Tests ausgeführt werden, alle Protokolle werden immer noch an die Live-Datenbank gesendet, anstatt die Test-Datenbank.
Alle anderen db-Interaktionen werden mit Ausnahme der Protokollierung getestet.
Ich habe eine Protokollvorrichtung erstellt und in den Testfall importiert.
Hier ist meine Datenbank-Logger (/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);
}
}
Ich bin sicher, dass ich hier einige grundlegende Einstellung fehlt bin, aber ich kann diese für das Leben nicht herausfinden, von mir.
niemand bekam etwas dazu? –
Ich habe das gleiche Problem. Hast du es repariert? – Alvaro
Nein. Kann nirgends eine Antwort erhalten. Ich habe festgestellt, dass jede DB-Interaktion in Tests in die Produktions-DB gehen wird, wenn ich keine Fixtures für ein bestimmtes Modell definiert habe, aber diese hat mich über den Haufen geworfen. –