Al utilizar DrupalUnitTestCase
al probar la unidad de un módulo Drupal, falla. Probablemente me olvide algo.Prueba de la unidad Drupal con DrupalUnitTestCase falla en la configuración de la base de datos
La prueba se ejecuta bien hasta puedo crear una instancia de una clase:
$foo = new FooBar();
En ese caso, Drupal decide hacer un poco de magia y los intentos de llamar a la base de datos, con el fin de encontrar algún archivo en su registro .
Test PDOStatement->execute() failed: <em class="placeholder">PDOException</em>: SQLSTATE[42S02]: Base table [error]
or view not found: 1146 Table 'td_development.simpletest50921registry' doesn't exist: SELECT
filename FROM {registry} WHERE name = :name AND type = :type; Array
(
[:name] => FooBar
[:type] => interface
)
DrupalUnitTestCase
, en contraposición a DrupalWebTestCase
no configura una base de datos, por diseño. Entonces la razón por la cual esto falla es clara.
Sin embargo, no quiero que Drupal vaya a buscar en una base de datos cuando todo lo que quiero es crear alguna instancia. ¿Cómo evitar que Drupal busque el archivo en su registro?
Para esas almas perdidas como yo, este caso de uso/error se aplica (tristemente) a ENTIDADES y CONTROLADORES DE ENTIDAD también. Etiquetado para el beneficio de la interwebz. También se agregó información relevante a la respuesta aceptada (@Berdir). –