Más con Symfony

14.6. Añadiendo pruebas unitarias

Antes de continuar es recomendable crear algunas pruebas unitarias, como por ejemplo la que muestra el siguiente código:

// test/unit/form/sfFormYamlEnhancerTest.php
include dirname(__FILE__).'/../../bootstrap/unit.php';

$t = new lime_test(3);

$configuration = $configuration->getApplicationConfiguration(
  'frontend', 'test', true, null, $configuration->getEventDispatcher());
sfToolkit::clearDirectory(sfConfig::get('sf_app_cache_dir'));

$enhancer = new sfFormYamlEnhancer($configuration->getConfigCache());

// ->enhance()
$t->diag('->enhance()');

$form = new CommentForm();
$form->bind(array('body' => '+1'));

$enhancer->enhance($form);

$t->like($form['body']->renderLabel(), '/Please enter your comment/',
  '->enhance() enhances labels');
$t->like($form['body']->render(), '/class="comment"/',
  '->enhance() enhances widgets');
$t->like($form['body']->renderError(), '/You haven\'t written enough/',
  '->enhance() enhances error messages');

Ejecuta la prueba anterior para verificar que sfFormYamlEnhancer funciona correctamente:

Las pruebas pasan correctamente

Figura 14.3 Las pruebas pasan correctamente

Ahora ya podemos seguir modificando el código con la confianza de que las pruebas nos avisarán si rompemos algo.