@memba

Как правильно тестировать CLI приложение на PHP через PHPUnit?

Привет!

Есть простое командлайн приложение на PHP. Как его лучше протестировать через PHPunit?

Первое что пришло в голову:

class HelloTest extends \PHPUnit_Framework_TestCase
{
    public function testHello()
    {
        $expect = "<<HelloWorld>>";
        $result = shell_exec("php command HelloWorld");
        $result = trim($result);
        $this->assertEquals($result, $expect);
    }
}


Просто передает приложению строку HelloWorld, а она возвращается обрамленная угловыми скобками.

Правильно ли использовать shell_exec или у PHPUnit есть какие-то встроенные возможности?
  • Вопрос задан
  • 197 просмотров
Пригласить эксперта
Ответы на вопрос 1
DmitryVoronkov
@DmitryVoronkov
Python Developer
А зачем тебе эмитировать консоль?
Unit тестирование, на сколько я помню, это модульное тестирование.
Проверяй так:
class HelloTest extends \PHPUnit_Framework_TestCase
{
    public function testHello()
    {
        $expect = "HelloWorld";
        $command = new Command();
        $result = $command->helloWorld();
        $this->assertEquals($result, $expect);
    }
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы