水豚未定义的方法 'current_scope'
Capybara undefined method 'current_scope'
我有以下代码
scenario "it should not appears submenus' links if it doesn't has any" do
expect(page.find('li.main-category', text: "Stargazing")).not_to have_tag('ul.nested')
end
当我 运行 测试时我得到这个错误
NoMethodError:
undefined method `current_scope' for #<Capybara::Node::Element:0x0055d1ab86e430>
我正在尝试测试这段代码
<ul class="menu vertical">
<li class="main-category"><a href="#">Solar System</a>
<ul class="nested vertical menu">
<li class="subcategory"><a href="#">Planets</a></li>
</ul>
</li>
<li class="main-category"><a href="#">Stargazing</a></li>
</ul>
带有文本 'Stargazing' 的 li 标签不应包含 ul 标签
有什么想法吗?
我不确定您使用的 have_tag
匹配器来自哪个库,但这不是 Capybara 匹配器并且与 Capybara 不兼容。你要
expect(page.find('li.main-category', text: "Stargazing")).not_to have_css('ul.nested')
或 have_css('ul')
如果您试图确保根本没有 ul 元素,而不仅仅是没有嵌套 class 的 ul 元素。
还要确保您的水豚已更新。
我有以下代码
scenario "it should not appears submenus' links if it doesn't has any" do
expect(page.find('li.main-category', text: "Stargazing")).not_to have_tag('ul.nested')
end
当我 运行 测试时我得到这个错误
NoMethodError:
undefined method `current_scope' for #<Capybara::Node::Element:0x0055d1ab86e430>
我正在尝试测试这段代码
<ul class="menu vertical">
<li class="main-category"><a href="#">Solar System</a>
<ul class="nested vertical menu">
<li class="subcategory"><a href="#">Planets</a></li>
</ul>
</li>
<li class="main-category"><a href="#">Stargazing</a></li>
</ul>
带有文本 'Stargazing' 的 li 标签不应包含 ul 标签
有什么想法吗?
我不确定您使用的 have_tag
匹配器来自哪个库,但这不是 Capybara 匹配器并且与 Capybara 不兼容。你要
expect(page.find('li.main-category', text: "Stargazing")).not_to have_css('ul.nested')
或 have_css('ul')
如果您试图确保根本没有 ul 元素,而不仅仅是没有嵌套 class 的 ul 元素。
还要确保您的水豚已更新。