sto testando un modello in CakePHP 2 e ho preso in giro un modello come questo:La creazione di un modello di PHPUnit deriso utilizza database predefinito al posto di prova in CakePHP
$this->User = $this->getMock('User', array(
'_saveUploadedFile',
'_removeUploadedFile',
));
$this->User->expects($this->any())
->method('_saveUploadedFile')
->with($data, Configure::read('App.myDirectory'), true);
->will($this->returnValue(true));
$this->User->expects($this->any())
->method('_removeUploadedFile')
->with($data, Configure::read('App.myDirectory'))
->will($this->returnValue(true));
Dal momento che qualsiasi operazione con il database genera il seguente errore:
"Database table mock__user_b6241a4cs for model User was not found."
ho ridefinito il modello di informazioni:
$this->User->alias = 'User';
$this->User->useTable = 'users';
Ora le opere di test bene, ma sta utilizzando il database $default
in database.php
anziché $test
. Cosa può succedere?
Perché la configurazione del database per verificare le modifiche quando si utilizzano oggetti mocked? Potrebbe essere correlato alle autorizzazioni del database che fa sì che l'oggetto deriso non sia in grado di creare le sue tabelle personalizzate?
Grazie!