Как поставить задачу (sfBaseTask) в unitest? - PullRequest
6 голосов
/ 22 июля 2010

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

1 Ответ

8 голосов
/ 24 июля 2010

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

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

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

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

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

...