当我们通过异步角度动作更新资源时,我们在重试块中包装表断言。原因是,浏览器更新有时比测试运行者的断言慢。
然而,包装这些断言并不会将差异打印到控制台。
输出无重试(漂亮!)
输出w /重试(无差异)
我想要做的是从重试块中捕获异常(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