gpt4 book ai didi

ruby-on-rails - Capybara 歧义匹配 - should have_content

转载 作者:行者123 更新时间:2023-12-05 00:29:46 26 4
gpt4 key购买 nike

我在 Rails 应用程序中使用 Capybara 和 Rspec,但我的一些测试一直失败并显示以下消息:

Failure/Error: it { should have_content('error') }
Capybara::Ambiguous:
Ambiguous match, found 2 elements matching xpath "/html"

这是合乎逻辑的,因为在我的测试中,我的应用程序应该呈现两 strip 有“错误”内容的消息。

<% if object.errors.any? %>
<div id="error_explanation">
<div class="alert alert-error">
<%= t('the_form_contains') %>
<%= pluralize(object.errors.count, t('error')) %>.
</div>
<ul>
<% object.errors.full_messages.each do |msg| %>
<li>* <%= msg %></li>
<% end %>
</ul>
</div>
<% end %>

这里是我的应用程序布局:

<!DOCTYPE html>
<html>
<head>
<title><%= full_title(yield(:title)) %></title>
<%= stylesheet_link_tag "application", media: "all", "data-turbolinks-track" => true %>
<%= javascript_include_tag "application", "data-turbolinks-track" => true %>
<%= csrf_meta_tags %>
<%= render 'layouts/shim' %>
</head>
<body>
<%= render 'layouts/header' %>
<div class="container">
<div class="row-fluid">
<div class="offset2 span8 offset2">
<% flash.each do |key,value| %>
<div class="alert alert-<%= key %>"><%= value %></div>
<% end %>
</div>
</div>
<%= yield %>
<%= render 'layouts/footer' %>
<%= debug(params) if Rails.env.development? %>
</div>
</body>
</html>

你知道一种方法(比如一个选项)让它通过吗?

编辑

我用过 save_and_open_page我没有发现任何其他 html标签,页面外都没有错误信息。但是当我删除 <!DOCTYPE html>那么它的工作原理。我真的必须拥有 <!DOCTYPE html>和一个开放 <html>标签 ?我可以删除 <!DOCTYPE html>没有后果?

<!DOCTYPE html>
<html>
<head>
<title>Le Troquet</title>
<link data-turbolinks-track="true" href="/assets/application.css" media="all" rel="stylesheet" />
<script data-turbolinks-track="true" src="/assets/application.js"></script>

<!--[if lt IE 9]>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->

</head>
<body>
.
.
.
.
.
<!-- There is no html tag here -->
.
.
.
.
</body>
</html>

最佳答案

看起来问题在于您:

  • 有两个<html>您页面中的标签,或者可能
  • “错误”文本出现在 <html></html> 之外标签。

  • 请参阅此讨论: Ambiguous match, found 2 elements matching xpath "/html" .

    关于ruby-on-rails - Capybara 歧义匹配 - should have_content,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16977049/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com