Skip to content

Displaying step timing using "cucumber -f usage" fails #185

@lnorr

Description

@lnorr

Summary

Displaying step timing using "cucumber -f usage" fails with error. Running regular "cucumber" succeeds.

Expected Behavior

Running "cucumber -f usage" on step definitions written using cucumber-ruby backend succeeds and shows the timing information (at the beginning of each step).

Current Behavior

This is the output with error that I see:

$ cucumber -f usage
undefined method `expression' for #<Cucumber::Wire::StepDefinition:0x007f814592a770> (NoMethodError)
/Library/Ruby/Gems/2.3.0/gems/cucumber-3.0.1/lib/cucumber/formatter/usage.rb:42:in `on_test_step_finished'
/Library/Ruby/Gems/2.3.0/gems/cucumber-core-3.0.0/lib/cucumber/core/event_bus.rb:34:in `block in broadcast'
/Library/Ruby/Gems/2.3.0/gems/cucumber-core-3.0.0/lib/cucumber/core/event_bus.rb:34:in `each'
/Library/Ruby/Gems/2.3.0/gems/cucumber-core-3.0.0/lib/cucumber/core/event_bus.rb:34:in `broadcast'
/Library/Ruby/Gems/2.3.0/gems/cucumber-core-3.0.0/lib/cucumber/core/event_bus.rb:40:in `method_missing'
/Library/Ruby/Gems/2.3.0/gems/cucumber-core-3.0.0/lib/cucumber/core/test/runner.rb:35:in `around_hook'
/Library/Ruby/Gems/2.3.0/gems/cucumber-core-3.0.0/lib/cucumber/core/test/around_hook.rb:12:in `describe_to'
/Library/Ruby/Gems/2.3.0/gems/cucumber-core-3.0.0/lib/cucumber/core/test/case.rb:120:in `block (2 levels) in compose_around_hooks'
/Library/Ruby/Gems/2.3.0/gems/cucumber-core-3.0.0/lib/cucumber/core/test/case.rb:121:in `compose_around_hooks'
/Library/Ruby/Gems/2.3.0/gems/cucumber-core-3.0.0/lib/cucumber/core/test/case.rb:26:in `block in describe_to'
/Library/Ruby/Gems/2.3.0/gems/cucumber-core-3.0.0/lib/cucumber/core/test/runner.rb:19:in `test_case'
/Library/Ruby/Gems/2.3.0/gems/cucumber-core-3.0.0/lib/cucumber/core/test/case.rb:25:in `describe_to'
/Library/Ruby/Gems/2.3.0/gems/cucumber-3.0.1/lib/cucumber/filters/prepare_world.rb:12:in `test_case'
/Library/Ruby/Gems/2.3.0/gems/cucumber-core-3.0.0/lib/cucumber/core/test/case.rb:25:in `describe_to'
/Library/Ruby/Gems/2.3.0/gems/cucumber-core-3.0.0/lib/cucumber/core/filter.rb:57:in `test_case'
/Library/Ruby/Gems/2.3.0/gems/cucumber-3.0.1/lib/cucumber/filters/retry.rb:18:in `test_case'
/Library/Ruby/Gems/2.3.0/gems/cucumber-core-3.0.0/lib/cucumber/core/test/case.rb:25:in `describe_to'
/Library/Ruby/Gems/2.3.0/gems/cucumber-3.0.1/lib/cucumber/filters/quit.rb:12:in `test_case'
/Library/Ruby/Gems/2.3.0/gems/cucumber-core-3.0.0/lib/cucumber/core/test/case.rb:25:in `describe_to'
/Library/Ruby/Gems/2.3.0/gems/cucumber-3.0.1/lib/cucumber/filters/broadcast_test_run_started_event.rb:20:in `block in done'
/Library/Ruby/Gems/2.3.0/gems/cucumber-3.0.1/lib/cucumber/filters/broadcast_test_run_started_event.rb:19:in `map'
/Library/Ruby/Gems/2.3.0/gems/cucumber-3.0.1/lib/cucumber/filters/broadcast_test_run_started_event.rb:19:in `done'
/Library/Ruby/Gems/2.3.0/gems/cucumber-core-3.0.0/lib/cucumber/core/filter.rb:62:in `done'
/Library/Ruby/Gems/2.3.0/gems/cucumber-core-3.0.0/lib/cucumber/core/filter.rb:62:in `done'
/Library/Ruby/Gems/2.3.0/gems/cucumber-core-3.0.0/lib/cucumber/core/filter.rb:62:in `done'
/Library/Ruby/Gems/2.3.0/gems/cucumber-core-3.0.0/lib/cucumber/core/filter.rb:62:in `done'
/Library/Ruby/Gems/2.3.0/gems/cucumber-core-3.0.0/lib/cucumber/core/filter.rb:62:in `done'
/Library/Ruby/Gems/2.3.0/gems/cucumber-core-3.0.0/lib/cucumber/core/filter.rb:62:in `done'
/Library/Ruby/Gems/2.3.0/gems/cucumber-core-3.0.0/lib/cucumber/core/filter.rb:62:in `done'
/Library/Ruby/Gems/2.3.0/gems/cucumber-core-3.0.0/lib/cucumber/core/test/filters/locations_filter.rb:20:in `done'
/Library/Ruby/Gems/2.3.0/gems/cucumber-core-3.0.0/lib/cucumber/core/filter.rb:62:in `done'
/Library/Ruby/Gems/2.3.0/gems/cucumber-core-3.0.0/lib/cucumber/core/test/filters/tag_filter.rb:18:in `done'
/Library/Ruby/Gems/2.3.0/gems/cucumber-core-3.0.0/lib/cucumber/core/compiler.rb:24:in `done'
/Library/Ruby/Gems/2.3.0/gems/cucumber-core-3.0.0/lib/cucumber/core/gherkin/parser.rb:37:in `done'
/Library/Ruby/Gems/2.3.0/gems/cucumber-core-3.0.0/lib/cucumber/core.rb:32:in `parse'
/Library/Ruby/Gems/2.3.0/gems/cucumber-core-3.0.0/lib/cucumber/core.rb:21:in `compile'
/Library/Ruby/Gems/2.3.0/gems/cucumber-3.0.1/lib/cucumber/runtime.rb:74:in `run!'
/Library/Ruby/Gems/2.3.0/gems/cucumber-3.0.1/lib/cucumber/cli/main.rb:33:in `execute!'
/Library/Ruby/Gems/2.3.0/gems/cucumber-3.0.1/bin/cucumber:9:in `<top (required)>'
/usr/local/bin/cucumber:22:in `load'
/usr/local/bin/cucumber:22:in `<main>'

Steps to Reproduce (for bugs)

  • Build the sample steps on Cucumber-cpp.
  • Execute the test.
  • Run "cucumber -f usage" in a separate window or process.

Your Environment

  • Version used: 0.4
  • Operating System and version: macOS 10.13
  • Link to your project: internal but also reproduced on samples

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions