我在请求规范中进行了以下测试:

page.should have_link('Edit user', :href => edit_users_path(@user))

这将判断索引视图中的特定用户是否具有编辑链接.

click_link('Edit user', :href => edit_users_path(@user))

不幸的是,click_链接不接受选项.

这似乎是一个相当明显的用例,有没有一个好方法可以做到这一点?

我应该在表<tr>或表<td>中包含一个#id,并执行以下操作:

within(#user_id)
  click_link 'Edit user'
end

我不想为了让测试生效而修改视图.

推荐答案

你可以使用find find(:xpath, "//a[@href='/foo']").click

Ruby-on-rails相关问答推荐

Ubuntu Webhooks无法读取安装的正确RVM Ruby

SASS,Rails 7:找不到要导入的样式表

关系 fields_for 上不允许的参数

Ruby on Rails - 外键不匹配

具有 IN 子句的参数化查询在 ruby​​-on-rails 的 blazer 工具中无法按预期工作

Rails 创建自定义函数/方法以及存储位置

计算总价(商品数量*商品价格)

如何启动 rails 控制台并专门使用测试数据库?

使用 RSpec 和 Capybara (Rails) 测试重定向

在允许用户使用设计(rails)登录之前判断用户是否处于活动状态

Rails:使用 RSpec 测试命名范围

控制器规格与请求规格?

如何在where子句中组合两个条件?

Rails 3.1 Sprockets 需要指令 - 有没有办法排除特定文件?

导轨链接到:远程

登录delay_job?

为什么 RSpec 在 Rails 下这么慢?

如何一次显示一条 Ruby on Rails 表单验证错误消息?

您如何访问设计控制器?

Rails,Docker:主机不存在:默认