我尝试编写一个生成步骤的自定义步骤
我的代码看起来像:
/**
* @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 调用的数量
我做错了什么?
由于测试反馈的呈现方式和 Jenkins 的功能存在差异,我们放弃使用 Jenkins 进行 BDD 检查。我们发现,仅在本地运行我们的套件,然后在将代码推送到存储库之前进行全面检查会产生更好的结果,并帮助每个人更好地使用该框架。
为了直接回答您的问题,我建议将您的詹金斯作业配置为在测试失败时不会失败。 这可以通过根本不输出结果来实现。您可以修改命令行选项以根本不输出失败,而仅将结果记录到输出文件中。然后,您可以在最后运行脚本来检查是否失败。