我正在try 使用cucumber+capybara在Ruby中进行BDD web开发,我被一项简单的任务困住了——只是判断表中的行数.我试图实现的目标大致如下:

page.should have_xpath("//table[@id='myTable']")
find("//table[@id='myTable']/tr").length.should == 3

但这不起作用(缺少方法长度),我也找不到一种方法来断言表的长度.

任何人有什么 idea 吗(请对我宽容一点,尽管我是个鲁比·努比)

提前谢谢

尼尔

推荐答案

最后我还是这么说的:

Then /^I should see "(.*)" once$/ do |text|
    within_table('myTable') do
      should have_xpath("//tr", :text => text, :count => 1)
    end
end

看起来很优雅.

我知道其他答案也有用,但这似乎读起来不错.

有什么 comments 吗?

Ruby相关问答推荐

如何保证散列中的对象不完全相同

如何使用Ruby range?

我可以在Ruby中以散列的形式访问方法的关键字参数吗?

每秒做某事 x 次

使用正则表达式判断用户输入的开头是否正好有两个大括号

重写 Enum#inject 以在 Ruby 中将符号作为参数

Ruby注入daisy链?

是否有类似于 Ruby 的 Sinatra 的 .NET 框架?

Nokogiri/Xpath 命名空间查询

Ruby:子字符串到一定长度,也到子字符串中的最后一个空格

退出(exit)和中止(abort)有什么区别?

如何期望 RSpec should_receive 的一些(但不是全部)参数?

class_eval <<-"end_eval", __FILE__, __LINE__ 在 Ruby 中是什么意思?

Ruby代码美化,多行拆分长指令

如何在 RSpec 2 中自动加载 spec_helper.rb

Sublime Text 2 控制台输入

Ruby - time.now UTC

运行 Ruby 命令时,PATH 中不安全的世界可写目录 /Users/username,模式 040777

如何在 Rails 3 迁移中描述枚举列?

Ruby 中的自然语言处理