sandro/specjour

undefined method `step_mother' for Cucumber::Cli::Main:Class (NoMethodError)

treybean opened this issue · 8 comments

I'm running 0.3.0.rc8 and am having trouble running my cucumber features. I'm able to run my features with rake cucumber just fine, but when I run specjour, get the following error a couple times and my features aren't run:

/Users/treybean/.rvm/gems/ruby-1.8.7-p302@freightlink_tracker/gems/specjour-0.3.0.rc8/lib/specjour/worker.rb:97:in `run_feature': undefined method `step_mother' for Cucumber::Cli::Main:Class (NoMethodError)
from /Users/treybean/.rvm/gems/ruby-1.8.7-p302@freightlink_tracker/gems/specjour-0.3.0.rc8/lib/specjour/worker.rb:89:in `run_test'
from /Users/treybean/.rvm/gems/ruby-1.8.7-p302@freightlink_tracker/gems/specjour-0.3.0.rc8/lib/specjour/worker.rb:42:in `run_tests'
from /Users/treybean/.rvm/rubies/ruby-1.8.7-p302/lib/ruby/1.8/benchmark.rb:308:in `realtime'
from /Users/treybean/.rvm/gems/ruby-1.8.7-p302@freightlink_tracker/gems/specjour-0.3.0.rc8/lib/specjour/worker.rb:42:in `run_tests'
from /Users/treybean/.rvm/gems/ruby-1.8.7-p302@freightlink_tracker/gems/specjour-0.3.0.rc8/lib/specjour/worker.rb:53:in `send'
from /Users/treybean/.rvm/gems/ruby-1.8.7-p302@freightlink_tracker/gems/specjour-0.3.0.rc8/lib/specjour/worker.rb:53:in `start'
from /Users/treybean/.rvm/gems/ruby-1.8.7-p302@freightlink_tracker/gems/specjour-0.3.0.rc8/lib/specjour/cli.rb:80:in `work'
from /Users/treybean/.rvm/gems/ruby-1.8.7-p302@freightlink_tracker/gems/thor-0.14.2/lib/thor/task.rb:22:in `send'
from /Users/treybean/.rvm/gems/ruby-1.8.7-p302@freightlink_tracker/gems/thor-0.14.2/lib/thor/task.rb:22:in `run'
from /Users/treybean/.rvm/gems/ruby-1.8.7-p302@freightlink_tracker/gems/thor-0.14.2/lib/thor/invocation.rb:118:in `invoke_task'
from /Users/treybean/.rvm/gems/ruby-1.8.7-p302@freightlink_tracker/gems/thor-0.14.2/lib/thor.rb:246:in `dispatch'
from /Users/treybean/.rvm/gems/ruby-1.8.7-p302@freightlink_tracker/gems/thor-0.14.2/lib/thor/base.rb:389:in `start'
from /Users/treybean/.rvm/gems/ruby-1.8.7-p302@freightlink_tracker/gems/specjour-0.3.0.rc8/lib/specjour/cli.rb:18:in `start'
from /Users/treybean/.rvm/gems/ruby-1.8.7-p302@freightlink_tracker/gems/specjour-0.3.0.rc8/bin/specjour:5
from /Users/treybean/.rvm/gems/ruby-1.8.7-p302@freightlink_tracker/bin/specjour:19:in `load'
from /Users/treybean/.rvm/gems/ruby-1.8.7-p302@freightlink_tracker/bin/specjour:19

gemset:

*** LOCAL GEMS ***

actionmailer (2.3.4)
actionpack (2.3.4)
activemodel (3.0.0)
activerecord (2.3.4)
activeresource (2.3.4)
activesupport (3.0.0, 2.3.4)
arel (1.0.1)
Ascii85 (1.0.0)
aws-s3 (0.6.2)
builder (2.1.2)
bundler (1.0.0)
capybara (0.3.9)
columnize (0.3.1)
configuration (1.1.0)
cucumber (0.9.0)
cucumber-rails (0.3.2)
culerity (0.2.12)
database_cleaner (0.5.2)
declarative_authorization (0.5.1)
diff-lcs (1.1.2)
dnssd (1.3.4)
email_spec (0.6.2)
factory_girl (1.3.2)
ffi (0.6.3)
gherkin (2.2.4)
haml (3.0.18)
heroku (1.10.8)
i18n (0.4.1)
json (1.4.6)
json_pure (1.4.6)
launchy (0.3.7)
linecache (0.43)
mime-types (1.16)
nokogiri (1.4.3.1)
open4 (0.9.6)
pdf-reader (0.8.6)
rack (1.0.1)
rack-test (0.5.6)
rails (2.3.4)
rake (0.8.7)
rake-remote_task (2.0.2)
rdoc (2.5.11)
rest-client (1.6.1)
right_aws (2.0.0)
right_http_connection (1.2.4)
rspec (1.3.0)
rspec-rails (1.3.2)
ruby-debug (0.10.3)
ruby-debug-base (0.10.3)
ruby-ole (1.2.10.1)
rubyzip (0.9.4)
searchlogic (2.4.14)
selenium-webdriver (0.0.28)
sequel (3.15.0)
sinatra (1.0)
specjour (0.3.0.rc8)
spreadsheet (0.6.4.1)
sqlite3-ruby (1.3.1)
taps (0.3.13)
term-ansicolor (1.0.5)
thor (0.14.2)
thoughtbot-factory_girl (1.2.2)
trollop (1.16.2)
tzinfo (0.3.23)
vlad (2.1.0)
will_paginate (2.3.15)
xml-simple (1.0.12)

Thanks, Specjour rules!

Looks like the cucumber api changed for 0.9.0. I'll try to fix it soon.

# from worker.rb
# updated to work with cucumber 0.9.x
def run_feature(feature)
   set_up_cucumber
   cli = ::Cucumber::Cli::Main.new(['--format', 'Specjour::Cucumber::DistributedFormatter', '-r', 'features', feature], connection)
   cli.execute!
end

Thanks Adman65 but I'm not ready to break 0.8.x compatibility. I am working on a fix though.

word up. Don't want to do that, just mean to take some of the leg work out of trying to figure out how to support 0.9.x

Cucumber 0.9.x compatibility

Closed by 820c234

Could have crept back in?

*** LOCAL GEMS ***

activesupport (3.2.6)
addressable (2.2.8)
bigdecimal (1.1.0)
builder (3.0.0)
childprocess (0.3.2)
columnize (0.3.6)
cucumber (1.2.1)
daemons (1.1.8)
diff-lcs (1.1.3)
execjs (1.4.0)
factory_girl (3.4.0)
ffi (1.0.11)
gherkin (2.11.0 x86-mingw32)
i18n (0.6.0)
io-console (0.3)
json (1.5.4)
libwebsocket (0.1.3)
minitest (2.5.1)
multi_json (1.3.6)
nwrfc (0.0.5)
ParseTree (3.0.9)
pickle (0.4.10)
rake (0.9.2.2)
rbx-require-relative (0.0.9)
rdiscount (1.6.8)
rdoc (3.9.4)
redis (3.0.1)
rspec (2.10.0, 1.3.0)
rspec-core (2.10.1)
rspec-expectations (2.10.0)
rspec-mocks (2.10.1)
RubyInline (3.9.0)
rubyzip (0.9.8)
selenium-webdriver (2.22.2)
sexp_processor (3.2.0)
systemu (2.5.1)
testjour (0.3.2)
watir-webdriver (0.6.1)
ZenTest (4.8.1)
C:\Dropbox\test\proj1>testjour slave:start
C:/Ruby/lib/ruby/gems/1.9.1/gems/testjour-0.3.2/lib/testjour/configuration.rb:79:in `step_mother': undefined method `step_mother' for Cucumber::Cli::M
ain:Class (NoMethodError)
        from C:/Ruby/lib/ruby/gems/1.9.1/gems/testjour-0.3.2/lib/testjour/configuration.rb:20:in `setup'
        from C:/Ruby/lib/ruby/gems/1.9.1/gems/testjour-0.3.2/lib/testjour/commands/run.rb:21:in `execute'
        from C:/Ruby/lib/ruby/gems/1.9.1/gems/testjour-0.3.2/lib/testjour/cli.rb:36:in `execute'
        from C:/Ruby/lib/ruby/gems/1.9.1/gems/testjour-0.3.2/lib/testjour/cli.rb:7:in `execute'
        from C:/Ruby/lib/ruby/gems/1.9.1/gems/testjour-0.3.2/bin/testjour:8:in `<top (required)>'
        from C:/Ruby/bin/testjour:23:in `load'
        from C:/Ruby/bin/testjour:23:in `<main>'

Could have crept back in?

*** LOCAL GEMS ***

activesupport (3.2.6)
addressable (2.2.8)
bigdecimal (1.1.0)
builder (3.0.0)
childprocess (0.3.2)
columnize (0.3.6)
cucumber (1.2.1)
daemons (1.1.8)
diff-lcs (1.1.3)
execjs (1.4.0)
factory_girl (3.4.0)
ffi (1.0.11)
gherkin (2.11.0 x86-mingw32)
i18n (0.6.0)
io-console (0.3)
json (1.5.4)
libwebsocket (0.1.3)
minitest (2.5.1)
multi_json (1.3.6)
nwrfc (0.0.5)
ParseTree (3.0.9)
pickle (0.4.10)
rake (0.9.2.2)
rbx-require-relative (0.0.9)
rdiscount (1.6.8)
rdoc (3.9.4)
redis (3.0.1)
rspec (2.10.0, 1.3.0)
rspec-core (2.10.1)
rspec-expectations (2.10.0)
rspec-mocks (2.10.1)
RubyInline (3.9.0)
rubyzip (0.9.8)
selenium-webdriver (2.22.2)
sexp_processor (3.2.0)
systemu (2.5.1)
testjour (0.3.2)
watir-webdriver (0.6.1)
ZenTest (4.8.1)
C:\Dropbox\test\proj1>testjour slave:start
C:/Ruby/lib/ruby/gems/1.9.1/gems/testjour-0.3.2/lib/testjour/configuration.rb:79:in `step_mother': undefined method `step_mother' for Cucumber::Cli::M
ain:Class (NoMethodError)
        from C:/Ruby/lib/ruby/gems/1.9.1/gems/testjour-0.3.2/lib/testjour/configuration.rb:20:in `setup'
        from C:/Ruby/lib/ruby/gems/1.9.1/gems/testjour-0.3.2/lib/testjour/commands/run.rb:21:in `execute'
        from C:/Ruby/lib/ruby/gems/1.9.1/gems/testjour-0.3.2/lib/testjour/cli.rb:36:in `execute'
        from C:/Ruby/lib/ruby/gems/1.9.1/gems/testjour-0.3.2/lib/testjour/cli.rb:7:in `execute'
        from C:/Ruby/lib/ruby/gems/1.9.1/gems/testjour-0.3.2/bin/testjour:8:in `<top (required)>'
        from C:/Ruby/bin/testjour:23:in `load'
        from C:/Ruby/bin/testjour:23:in `<main>'

Umm, this is the specjour project, not testjour. Specjour was created to run RSpec in parallel. We bolted cucumber on after the fact.