使用 behat 生成自定义步骤

问题描述 投票:0回答:1

我尝试编写一个生成步骤的自定义步骤

我的代码看起来像:

/**
 * @Then /^Check_raoul$/
 */
public function checkRaoul()
{
    // grab the content ...

    // get players ...
    $to_return = array();
    foreach ($players as $player) {
        $player = $player->textContent;
        if (preg_match('/^.*video=([^&]*)&.*$/', $player, $matches))
        {
            array_push($to_return, new Step\Then('I check the video of id "'.$matches[1].'"'));
        }
    }
    return $to_return;
}

/**
 * @Then /^I check the video of id "([^"]*)"$/
 */
public function iCheckTheVideoOfId($id)
{
// ...
}

工作正常,但是当集成到 jenkins 或 un cli 时,如果 iCheckTheVideoOfId 的多次执行失败,我只会看到一个错误。我希望生成的步骤数等于 iCheckTheVideoOfId 调用的数量

我做错了什么?

php behat
1个回答
0
投票

由于测试反馈的呈现方式和 Jenkins 的功能存在差异,我们放弃使用 Jenkins 进行 BDD 检查。我们发现,仅在本地运行我们的套件,然后在将代码推送到存储库之前进行全面检查会产生更好的结果,并帮助每个人更好地使用该框架。

为了直接回答您的问题,我建议将您的詹金斯作业配置为在测试失败时不会失败。 这可以通过根本不输出结果来实现。您可以修改命令行选项以根本不输出失败,而仅将结果记录到输出文件中。然后,您可以在最后运行脚本来检查是否失败。

© www.soinside.com 2019 - 2024. All rights reserved.