• Как в PHPUnit из теста вызвать консольную команду?

    exekhua
    @exekhua Автор вопроса
    Нашел решение:
    use Asme\Command\UpdateCurrencyCommand;
    use Symfony\Bundle\FrameworkBundle\Console\Application;
    use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase;
    use Symfony\Component\Console\Tester\CommandTester;

    class UpdateCurrencyCommandTest extends WebTestCase
    {

    public function testUpdateCurrency()
    {
    $kernel = $this->createKernel();
    $kernel->boot();
    $application = new Application($kernel);
    $application->add(new UpdateCurrencyCommand());

    $command = $application->find('имя команды');
    $commandTester = new CommandTester($command);
    $commandTester->execute(array('command' => $command->getName()));

    //проверка ответа
    $this->assertNotEquals('...', $commandTester->getDisplay());
    Ответ написан
    Комментировать