手动打印黄瓜表差异

时间:2016-10-24 17:26:11

标签: ruby cucumber

当我们通过异步角度动作更新资源时,我们在重试块中包装表断言。原因是,浏览器更新有时比测试运行者的断言慢。

然而,包装这些断言并不会将差异打印到控制台。

输出无重试(漂亮!)

enter image description here

输出w /重试(无差异)

enter image description here

我想要做的是从重试块中捕获异常(Cucumber :: Ast :: Table :: Different)并手动将表diff打印到控制台并重新引发异常以触发重试。下面的代码“有效”,但我似乎无法弄清楚如何手动将表差异打印到控制台。

Then(/^I should see the following self\-reported trades:$/) do |table|
  retry_quickly do
    rows = find("table#trades-table").all('tr')
    actual_table = rows.map { |r| r.all('th,td').map { |c| c.text.strip } }
    begin
      table.diff!(actual_table)
    rescue Cucumber::Ast::Table::Different => e
      # puts table diff
      raise e
    end
  end
end

0 个答案:

没有答案