黄瓜水豚换行符

时间:2018-08-01 11:34:09

标签: cucumber capybara rspec-expectations

我将黄瓜和水豚一起使用。我注意到,在安装捆绑软件后,突然之间我的测试失败了,新的换行符作为文本的一部分出现在字符串中。

示例错误:

RSpec::Expectations::ExpectationNotMetError: expected to find text "Longview Road Clase Swansea SA6 7JL" in "Skip to main content\nGOV.UK\nDigital tachograph card\n......."

过去,这些换行符不存在。我正在努力寻找导致此问题的宝石。

是否有一种方法可以停止此操作,而无需在我从网页提取的每个字符串中都做一个剥离?

某些宝石版本:

水豚-2.18 Rspec期望-3.7.0 黄瓜-2.4.0

1 个答案:

答案 0 :(得分:3)

确定要使用Capybara 2.18吗?这是一种在Capybara 3中更改的行为,在这种情况下,现在希望驱动程序返回的文本更接近向用户显示的文本-https://github.com/teamcapybara/capybara/blob/master/UPGRADING.md#node。如果确实不使用Capybara 3.x,则可能已更新了与Capybara一起使用的驱动程序,并且该驱动程序不再支持Capybara 2.x的行为。

如果您现在正在使用Capybara 3.x,则需要更改测试以检查实际显示的内容(这是对页面上内容的更正确检查),或者可以使用Capybara 3.5+版本会在文本/内容匹配器中添加一个normalize_ws选项,以便您可以编写

expect(element).to have_text('Longview Road Clase Swansea SA6 7JL', normalize_ws: true)

复制更多类似2.x的行为