我有以下页面
<ul class="account_menu dropdown-menu">
<li class="divider"></li>
<li class="current"><span>My account</span></li>
<li class="account"><a href="#">account-1 (Editor)</a></li>
</ul>
使用此步骤使用Cucumber进行测试
within(scope) do
page.should have_content(content)
end
当内容=&#39; account-1&#39;并且内容错误=&#39;我的帐户&#39;。范围是两种情况都是&#39; account_menu&#39;
And he should see "My account" within account menu
expected to find text "My account" in "My Accountaccount-1 (Editor)"
(RSpec::Expectations::ExpectationNotMetError)
为什么它无法找到我的帐户&#39;文本?感谢
答案 0 :(得分:4)
have_content
有时最终会以意想不到的方式连接内容。在你的情况下
<li class="current"><span>My account</span></li>
<li class="account"><a href="#">account-1 (Editor)</a></li>
成为“我的Accountaccount-1(编辑)”
如果您尝试
expect("My Accountaccount-1 (Editor)").to have_content("My account")
它也会失败,这在技术上是正确的,因为“我的帐户”不在字符串中。另一种方法是使用match
匹配器或测试连接字符串(丑陋)。