Utilizando la opción dry-run

En ocasiones quieres ver el resultado de una tarea sin ejecutarla realmente. A continuación se explican un par de trucos para conseguirlo.

En primer lugar, te recomendamos que utilices para esta opción un nombre estándar que todo el mundo conoce y que por tanto, todo el mundo es capaz de interpretar correctamente. Este nombre es dry-run y hasta la versión Symfony 1.3 la clase sfCommandApplication añadía por defecto una opción llamada dry-run, pero ahora debes añadirla manualmente (idealmente la añadirías en una clase base como la mostrada en las secciones anteriores):

$this->addOption(new sfCommandOption('dry-run', null, sfCommandOption::PARAMETER_NONE, 'Executes a dry run');

Ahora ya puedes invocar la tarea de la siguiente forma:

./symfony my:task --dry-run

La opción dry-run indica que la tarea no debe realizar ningún cambio. Estas últimas palabras son realmente las importantes: "no debe realizar ningún cambio". Cuando se ejecuta en el modo dry-run, la tarea debe dejar todo tal y como se encontraba antes de la ejecución, incluyendo entre otros:

  • La base de datos: no insertes, actualices o borres ningún registro de la base de datos. Esto se puede conseguir mediante una transacción.
  • El sistema de archivos: no crees, modifiques ni borres ningún archivo o directorio del sistema de archivos.
  • Envío de emails: no envíes emails o envíalos a una dirección de prueba.

A continuación se muestra un ejemplo sencillo del uso de la opción dry-run:

$connection->beginTransaction();
 
// modifica la información de la base de datos
 
if ($options['dry-run'])
{
  $connection->rollBack();
}
else
{
  $connection->commit();
}
Puedes sugerir, comentar, criticar e informar de errores en contacto (arroba) librosweb.es

Generando archivos mediante esqueletos

Creando pruebas unitarias
Los contenidos originales de este sitio están bajo una licencia de Creative Commons. Las traducciones disponen cada una de su propia licencia.