2010-03-05 49 views
4

我想学习如何使用黄瓜和得到这个问题:如何与自定义表单使用黄瓜标签

我有一个形式为:

<p> 
    <%= f.label :name, "Nome" %><br /> 
    <%= f.text_field :name %> 
    </p> 

在我的黄瓜功能我有:

And I fill in "name" with "Reitoria do Porto" 

这使测试失败:

And I fill in "name" with "Reitoria do Porto"  # features/step_definitions/web_steps.rb:34 
     Could not find field: "name" (Webrat::NotFoundError) 
     (eval):2:in `fill_in' 
     ./features/step_definitions/web_steps.rb:35:in `/^(?:|I)fill in "([^\"]*)" with "([^\"]*)"$/' 
     features/manage_institutions.feature:10:in `And I fill in "name" with "Reitoria do Porto"' 

但是,如果我只是做形式是这样的:

<p> 
    <%= f.label :name %><br /> 
    <%= f.text_field :name %> 
    </p> 

测试通过。

如何保留自定义标签名称并使测试通过?

回答

3

Webrat使用标签文本来定位要填写的字段。在第一个示例中,您是不是将此标签设置为“Nome”?

请问And I fill in "Nome" with "Reitoria do Porto"有效吗?

+0

是的,它的工作原理!格斯我应该尝试一个。 – 2010-03-06 18:04:24

1

您也可以使用字段名称,因为它显示在HTML中。所以,如果name所属的模型是可以说User比你应该能够通过

访问它,我填写“USER_NAME”与“Reitoria做波尔图”

如果有疑问,只是查看生成的HTML代码并从那里获取字段名称。