тестирование буферизации вывода с помощью phpspec - PullRequest
0 голосов
/ 24 октября 2018

Учитывая следующий код PHPUnit, как мне перевести это в тест phpspec?

$content = 'Hello world!';
ob_start();
$this->displayer->output($content);
$output = ob_get_clean();
$this->assertEquals($content, $output);

Что делает $this->displayer->output($content), это просто echo $content:

class Displayer {
    public function display(string $content) { echo $content; }
}

1 Ответ

0 голосов
/ 25 октября 2018

Я считаю, что это единственный путь:

use PHPUnit\Framework\Assert;

public function it_outputs_a_string()
{
    $content = 'Hello world!';
    ob_start();      
    $this->display($content);
    $output = ob_get_clean();

    Assert::assertEquals($content, $output);
}
...