Lighthouse has a new layout. Prefer the old one? Return to the old layout, and switch back any time from the link at the top of each page.

Cucumber AfterStep hook fails with 'accept_hook?' on NilClass

#37

Cucumber's new AfterStep hook, fails with the following backtrace. I'm unsure if this is a cucumber or watircraft issue.

cucumber (0.3.11)
bret-watircraft (0.5.0)

Given I use the standard login page     # lib/steps/login_page_steps.rb:7
undefined method `accept_hook?' for nil:NilClass (NoMethodError)
c:/ruby/lib/ruby/gems/1.8/gems/cucumber-0.3.11/bin/../lib/cucumber/step_mother.rb:173:in `hooks_for'
c:/ruby/lib/ruby/gems/1.8/gems/cucumber-0.3.11/bin/../lib/cucumber/step_mother.rb:173:in `select'
c:/ruby/lib/ruby/gems/1.8/gems/cucumber-0.3.11/bin/../lib/cucumber/step_mother.rb:173:in `hooks_for'
c:/ruby/lib/ruby/gems/1.8/gems/cucumber-0.3.11/bin/../lib/cucumber/step_mother.rb:353:in `execute_after_step'
c:/ruby/lib/ruby/gems/1.8/gems/cucumber-0.3.11/bin/../lib/cucumber/step_mother.rb:279:in `after_step'
c:/ruby/lib/ruby/gems/1.8/gems/cucumber-0.3.11/bin/../lib/cucumber/ast/step_invocation.rb:37:in `invoke'
c:/ruby/lib/ruby/gems/1.8/gems/cucumber-0.3.11/bin/../lib/cucumber/ast/step_invocation.rb:22:in `accept'
c:/ruby/lib/ruby/gems/1.8/gems/cucumber-0.3.11/bin/../lib/cucumber/ast/visitor.rb:78:in `visit_step'
c:/ruby/lib/ruby/gems/1.8/gems/cucumber-0.3.11/bin/../lib/cucumber/formatter/pretty.rb:129:in `visit_step'
c:/ruby/lib/ruby/gems/1.8/gems/cucumber-0.3.11/bin/../lib/cucumber/ast/step_collection.rb:14:in `accept'
c:/ruby/lib/ruby/gems/1.8/gems/cucumber-0.3.11/bin/../lib/cucumber/ast/step_collection.rb:13:in `each'
c:/ruby/lib/ruby/gems/1.8/gems/cucumber-0.3.11/bin/../lib/cucumber/ast/step_collection.rb:13:in `accept'
c:/ruby/lib/ruby/gems/1.8/gems/cucumber-0.3.11/bin/../lib/cucumber/ast/visitor.rb:74:in `visit_steps'
c:/ruby/lib/ruby/gems/1.8/gems/cucumber-0.3.11/bin/../lib/cucumber/ast/background.rb:29:in `accept'
c:/ruby/lib/ruby/gems/1.8/gems/cucumber-0.3.11/bin/../lib/cucumber/ast/visitor.rb:49:in `visit_background'
c:/ruby/lib/ruby/gems/1.8/gems/cucumber-0.3.11/bin/../lib/cucumber/formatter/pretty.rb:90:in `visit_background'
c:/ruby/lib/ruby/gems/1.8/gems/cucumber-0.3.11/bin/../lib/cucumber/ast/feature.rb:22:in `accept'
c:/ruby/lib/ruby/gems/1.8/gems/cucumber-0.3.11/bin/../lib/cucumber/ast/visitor.rb:23:in `visit_feature'
c:/ruby/lib/ruby/gems/1.8/gems/cucumber-0.3.11/bin/../lib/cucumber/formatter/pretty.rb:42:in `visit_feature'
c:/ruby/lib/ruby/gems/1.8/gems/cucumber-0.3.11/bin/../lib/cucumber/ast/features.rb:24:in `accept'
c:/ruby/lib/ruby/gems/1.8/gems/cucumber-0.3.11/bin/../lib/cucumber/ast/features.rb:23:in `each'
c:/ruby/lib/ruby/gems/1.8/gems/cucumber-0.3.11/bin/../lib/cucumber/ast/features.rb:23:in `accept'
c:/ruby/lib/ruby/gems/1.8/gems/cucumber-0.3.11/bin/../lib/cucumber/ast/visitor.rb:19:in `visit_features'
c:/ruby/lib/ruby/gems/1.8/gems/cucumber-0.3.11/bin/../lib/cucumber/formatter/pretty.rb:26:in `visit_features'
c:/ruby/lib/ruby/gems/1.8/gems/cucumber-0.3.11/bin/../lib/cucumber/broadcaster.rb:9:in `__send__'
c:/ruby/lib/ruby/gems/1.8/gems/cucumber-0.3.11/bin/../lib/cucumber/broadcaster.rb:9:in `method_missing'
c:/ruby/lib/ruby/gems/1.8/gems/cucumber-0.3.11/bin/../lib/cucumber/broadcaster.rb:8:in `map'
c:/ruby/lib/ruby/gems/1.8/gems/cucumber-0.3.11/bin/../lib/cucumber/broadcaster.rb:8:in `method_missing'
c:/ruby/lib/ruby/gems/1.8/gems/cucumber-0.3.11/bin/../lib/cucumber/cli/main.rb:54:in `execute!'
c:/ruby/lib/ruby/gems/1.8/gems/cucumber-0.3.11/bin/../lib/cucumber/cli/main.rb:25:in `execute'
c:/ruby/lib/ruby/gems/1.8/gems/cucumber-0.3.11/bin/cucumber:9
c:/ruby/bin/cucumber:19:in `load'
c:/ruby/bin/cucumber:19
test/features/navigation.feature:4:in `Given I use the standard login page'

I defined the AfterStep hook here:

# /test/features/support/env.rb
require 'watircraft'
AfterStep do |step|
  puts "\nAfterStep hook\n\n"
end

While running:

cucumber /test/features/navigation.feature

If the env.rb file only includes an After or Before hook (for scenarios) it works fine.

Reported by Brandon Faloona · June 12th, 2009 @ 07:26 PM

State: resolved
Milestone: none
Assigned to: Bret Pettichord Bret Pettichord

Activity

  1. Bret Pettichord
    Bret Pettichord

    I haven't used the new version of cucumber yet. You might want to post to
    the mailing list to see if other users are.

    June 12th, 2009 @ 07:40 PM

  2. Brandon Faloona
    Brandon Faloona

    This is a cucumber bug:
    #372 AfterStep hook does not work with scenarios which have backgrounds

    https://rspec.lighthouseapp.com/projects/16211/tickets/372-afterste...

    July 9th, 2009 @ 08:45 PM

  3. Bret Pettichord
    Bret Pettichord
    • State changed from new to resolved

    July 12th, 2009 @ 02:15 PM

Please Sign in or create a free account to add a new ticket.

With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.