Last modified: 2014-10-19 17:44:27 UTC
Cucumber has built in syntax check: $ cucumber -h (...) -d, --dry-run Invokes formatters without executing the steps. This also omits the loading of your support/env.rb file if it exists. (...) We should run it for all repositories that contain Cucumber code[1]. 1: https://github.com/wikimedia/mediawiki-selenium
UniversalLanguageSelector/tests/browser$ cucumber --dry-run Using the default profile... ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 42 scenarios (42 skipped) 317 steps (317 skipped) 0m0.600s
"cucumber -d" runs fine for: browsertests, Flow, UniversalLanguageSelector and fails with an error message similar to this for the rest of the repos: $ cucumber -d uninitialized constant ArticlePage::PageObject (NameError) /home/z/project/CirrusSearch/tests/browser/features/support/pages/article_page.rb:2:in `<class:ArticlePage>' /home/z/project/CirrusSearch/tests/browser/features/support/pages/article_page.rb:1:in `<top (required)>' /home/z/.rvm/gems/ruby-2.0.0-p247@CirrusSearch/gems/cucumber-1.3.8/lib/cucumber/rb_support/rb_language.rb:122:in `load' /home/z/.rvm/gems/ruby-2.0.0-p247@CirrusSearch/gems/cucumber-1.3.8/lib/cucumber/rb_support/rb_language.rb:122:in `load_code_file' /home/z/.rvm/gems/ruby-2.0.0-p247@CirrusSearch/gems/cucumber-1.3.8/lib/cucumber/runtime/support_code.rb:180:in `load_file' /home/z/.rvm/gems/ruby-2.0.0-p247@CirrusSearch/gems/cucumber-1.3.8/lib/cucumber/runtime/support_code.rb:83:in `block in load_files!' /home/z/.rvm/gems/ruby-2.0.0-p247@CirrusSearch/gems/cucumber-1.3.8/lib/cucumber/runtime/support_code.rb:82:in `each' /home/z/.rvm/gems/ruby-2.0.0-p247@CirrusSearch/gems/cucumber-1.3.8/lib/cucumber/runtime/support_code.rb:82:in `load_files!' /home/z/.rvm/gems/ruby-2.0.0-p247@CirrusSearch/gems/cucumber-1.3.8/lib/cucumber/runtime.rb:183:in `load_step_definitions' /home/z/.rvm/gems/ruby-2.0.0-p247@CirrusSearch/gems/cucumber-1.3.8/lib/cucumber/runtime.rb:42:in `run!' /home/z/.rvm/gems/ruby-2.0.0-p247@CirrusSearch/gems/cucumber-1.3.8/lib/cucumber/cli/main.rb:47:in `execute!' /home/z/.rvm/gems/ruby-2.0.0-p247@CirrusSearch/gems/cucumber-1.3.8/bin/cucumber:13:in `<top (required)>' /home/z/.rvm/gems/ruby-2.0.0-p247@CirrusSearch/bin/cucumber:23:in `load' /home/z/.rvm/gems/ruby-2.0.0-p247@CirrusSearch/bin/cucumber:23:in `<main>'
As the documentation says, -d option does not load env.rb file, and that causes the problem.
I do not know why it works fine for some repositories.
Looks like page-object gem is not required in some repos. This works for all repos (page-object gem has to be installed): cucumber -d -r page-object