ruby-on-rails-3 - 是否可以通过 RSpec/Capybara 测试元素的顺序?

标签 ruby-on-rails-3 rspec ruby-on-rails-3.1 capybara

我使用 RSpec/Capybara 作为我的测试套件。我有一些动态附加 <li> 的 javascript到 <ul> 的末尾。我想编写一个请求规范来确保这种情况发生。

我尝试使用has_css Capybara 方法和高级 CSS 选择器来测试 <li> 的顺序元素,但 Capybara 不支持 + CSS 选择器。

示例:

page.should have_css('li:contains("ITEM #1")')
pseuo_add_new_li
page.should have_css('li:contains("ITEM #1")+li:contains("ITEM #2")')

有人知道另一种测试订购的方法吗?

最佳答案

我通过测试正则表达式与页面正文内容的匹配解决了这个问题。有点笨拙,但它有效。

page.body.should =~ /ITEM1.*ITEM2.*ITEM3/

关于ruby-on-rails-3 - 是否可以通过 RSpec/Capybara 测试元素的顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8423576/

相关文章:

javascript - 使用 JavaScript 在 Rails 应用程序的一个 View 中渲染一系列 Google map

ruby-on-rails - RSpec - NoMethodError 对于在关联模型上调用的方法

ruby - 为什么不调用 stub 方法?

ruby-on-rails - 新手,关于 Rake 任务语法

jquery - 如何将路径助手与 jquery 单击事件一起使用?

ruby-on-rails - 在 Rails 3 Refinery CMS 应用程序中设置 s3 时遇到问题

ruby-on-rails - rails 上的 ruby : radio buttons for collection select

mysql - 我的 rspec 测试是否由于 mysql 时间戳格式而失败?

ruby-on-rails - ActiveAdmin -- 如何引用当前对象?

mysql - 执行捆绑安装时 MySql 出错