开发者

What does the World() method do in ruby?

开发者 https://www.devze.com 2023-02-10 10:44 出处:网络
I\'d like to know what does the following line do: World(::Cucumber::Rails::Capybara::SelectDatesAndTimes)

I'd like to know what does the following line do:

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

Because I'm getting

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

And I don't understand what it is supposed to do to tell what's wrong :-)

EDIT: I gisted my Gemfile: https://gist.github.com/822480 and my gem list on windows vista 32-bit (https://gist.github.com/822483) and ubuntu maverick 32-bit https://gist.github.com/822491. Both are running ruby 1.8.7. Notice that I'm using this fork of cucumber-rails: https://github.com/johnf/cucumber-rails because my ultimate goal is开发者_StackOverflow to get these datetime selectors to work with capybara.

I also found that on Linux I get another error message:

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


The World() method isn't one from Ruby, it's one specifically from Cucumber, regrettably they haven't even documented it.

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

In this case, it looks like something it missing from your Environment, maybe Caprybara, please give more info, and share your Ruby/Rails/Cucumber/Bundler/etc versions, and your Gemfile.


World is just an instance of Object that you can use in every step definition, its like a library that you expose without the need to import (or require in every step definition file).

see more at: https://github.com/cucumber/cucumber/wiki/Configuring-the-Scenario-Execution-Context-(World)


(Note that I'm still learning, so this may be wrong.)

A world-level method involves multiple objects versus a class- or object-specific method.

If you are having an issue with calling a world method, then check to see if the world method is specifying an object that can't be found.

0

精彩评论

暂无评论...
验证码 换一张
取 消