miércoles, 27 de febrero de 2013

Algunas notas para tener en cuenta en Test Unitarios

Evitar errores definiendo Fixtures con algunos tipos de campos

Por alguna razón que ignoro, al definir los campos (var $fields) en fixtures con los tipos text, date o datetime (sospecho que también binary) es mejor no usar el array completo para definir todos los parámetros, sino únicamente poner el tipo de campo. De otro modo, CakePHP se empeña en crear una definición de tabla SQL que no es válida y el test falla. Al dejar que lo haga de manera automática va perfecto.

Por ejemplo:

var $fields = array(
    'content' => 'text',
    'created' => 'date'
);

Tests y localización

Añade la instrucción

Configure::write('Config.language', 'eng');

al principio del test para evitar que CakePHP localice las cadenas de texto con __() y similares. De este modo, si un resultado del test depende de una cadena localizada no la traducirá (asumiendo que uses eng como idioma por defecto, claro).