World()方法在ruby中做了什么?

时间:2011-02-11 13:38:54

标签: ruby semantics

我想知道以下几行是做什么的:

World(::Cucumber::Rails::Capybara::SelectDatesAndTimes)

因为我正在

uninitialized constant Cucumber::Rails::Capybara::SelectDatesAndTimes::XPath (NameError)

我不明白应该怎么做才能说出错误: - )

编辑:我在我的Gemfile:https://gist.github.com/822480和我在@ vista 32位(https://gist.github.com/822483)和ubuntu maverick 32位https://gist.github.com/822491上的宝石列表上进行了操作。两者都运行ruby 1.8.7。请注意,我正在使用这个golden-rails的分支:https://github.com/johnf/cucumber-rails因为我的最终目标是让这些日期时间选择器与水豚一起工作。

我还发现在Linux上我收到另一条错误消息:

Unable to find '#<XPath::Union:0xb6e078b8>' (Capybara::ElementNotFound)

3 个答案:

答案 0 :(得分:2)

World()方法不是来自Ruby的方法,而是特别来自Cucumber的方法,遗憾的是它们甚至没有记录它。

http://rubydoc.info/github/aslakhellesoy/cucumber-rails/master/Cucumber/Rails/World:initialize

在这种情况下,它看起来像你的环境中缺少的东西,也许是Caprybara,请提供更多信息,并分享你的Ruby / Rails / Cucumber / Bundler / etc版本,以及你的Gemfile

答案 1 :(得分:0)

(注意我还在学习,所以这可能是错误的。

世界级方法涉及多个对象与特定于类或对象的方法。

如果您在调用world方法时遇到问题,请检查world方法是否指定了无法找到的对象。

答案 2 :(得分:0)

World只是一个Object的实例,您可以在每个步骤定义中使用它,就像您公开的库而不需要导入(或需要在每个步骤定义文件中)。

请参阅:https://github.com/cucumber/cucumber/wiki/Configuring-the-Scenario-Execution-Context-(World)