0

我正在使用 M. Hartl's Tutorial 来创建我的应用程序,但我遇到了一些按钮。我想将此测试应用于我自己的按钮,但我不知道如何调整这条线。

it { should have_xpath("//input[@value='Unfollow']") }

到这个按钮:

<%= form_for(product, remote: true) do |f| %>
  <div><%= f.hidden_field :sharable, value: nil %></div>
  <%= f.submit t('button.product.sharable.undo'), class: "btn btn-info btn-small" %>
<% end %>

或者这个按钮:

<%= form_for(current_user.future_ownerships.build(product_id: product.id),
                                                  remote: true) do |f| %>
  <div><%= f.hidden_field :product_id %></div>
  <%= f.submit t('button.ownership.create'), class: "btn btn-success btn-small" %>
<% end %>

我尝试了类似的东西:

it { should have_xpath("//input[@value='t('button.ownership.create')']") }

但正如我所想,我在语法上失败了:

 Nokogiri::XML::XPath::SyntaxError:
   Invalid predicate: //input[@value='t('button.ownership.create')']

你知道怎么做吗?甚至可能吗?

4

1 回答 1

0

您没有执行该t(...)函数(我猜这里是一个 Ruby 函数,它执行 I18N),它可能不会导出到 Nokogiri(无论如何也不会被调用)。

"//input[@value='" + t('button.ownership.create') + "']"
于 2013-06-30T09:51:30.757 回答