覆盖/扩展behat ProgressStepPrinter

时间:2018-08-07 11:31:38

标签: php behat

我正在尝试为behat progress output step formatter创建扩展。

目标只是将每个通过的场景步骤的.更改为*

The behat documentation甚至没有提到创建自定义格式器的功能,但是我发现了一个执行此behat-format-progress-fail

的GitHub存储库

但是关于如何实现此目的尚无清晰/简单的概述,我尝试过复制和修改它们。是否有一个简单的示例或清晰的文档?

1 个答案:

答案 0 :(得分:0)

通过创建ProgressStepPrinter.php的精简版本,然后将其包含在autoload-dev的{​​{1}}中,优先使用composer.json中的版本。

ProgressStepPrinter.php

Behat

composer.json

namespace Behat\Behat\Output\Node\Printer\Progress;

use Behat\Behat\Output\Node\Printer\Helper\ResultToStringConverter;
use Behat\Behat\Output\Node\Printer\StepPrinter;
use Behat\Behat\Tester\Result\StepResult;
use Behat\Gherkin\Node\ScenarioLikeInterface as Scenario;
use Behat\Gherkin\Node\StepNode;
use Behat\Testwork\Output\Formatter;

final class ProgressStepPrinter implements StepPrinter {

    private $resultConverter;

    public function __construct(ResultToStringConverter $resultConverter) {
        $this->resultConverter = $resultConverter;
    }

    public function printStep(Formatter $formatter, Scenario $scenario, StepNode $step, StepResult $result) {
        //custom logic to print per step here
    }
}