Как поставить задачу (sfBaseTask) в unitest?

Как я могу написать модульный тест для моей задачи (sfBaseTask)?

1 ответов


Если вы спрашиваете, как написать модульный тест для задачи, чем сначала вам нужно инициализировать конфигурацию:

$configuration = ProjectConfiguration::hasActive() ? ProjectConfiguration::getActive() : new ProjectConfiguration(realpath($_test_dir . ‘/..’)); 

позже, поскольку задачи-это просто классы, вы можете легко инициализировать их и проверить:

$task = new myTask($configuration->getEventDispatcher(), new sfFormatter());
$task->run($argumentsArray, $optionsArray);

однако я думаю, что лучше поместить логику задачи в отдельный класс (классы) и использовать их в методе execute () задачи. Это еще проще проверить.