Skip to content

after(:step) raises an error in #8

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
IdahoEv opened this issue Oct 18, 2015 · 2 comments
Open

after(:step) raises an error in #8

IdahoEv opened this issue Oct 18, 2015 · 2 comments

Comments

@IdahoEv
Copy link

IdahoEv commented Oct 18, 2015

I attempted to convert xing-application-base to use rspec-steps 2.0.1. After patching shared_steps (see PR #7 ), waterpig's attempt to hook in after(:steps) in Waterpig::SnapStep.included results in the following error with RSpec:

```/Users/evan/.rvm/gems/ruby-2.2.2@xing/gems/rspec-core-3.1.7/lib/rspec/core/hooks.rb:536:inextract_scope_from': You must explicitly give a scope (example, context, suite) or scope alias (each, all) when using symbols as metadata for a hook. (ArgumentError) from /Users/evan/.rvm/gems/ruby-2.2.2@xing/gems/rspec-core-3.1.7/lib/rspec/core/hooks.rb:526:in scope_and_options_from'
from /Users/evan/.rvm/gems/ruby-2.2.2@xing/gems/rspec-core-3.1.7/lib/rspec/core/hooks.rb:490:in`register'
from /Users/evan/.rvm/gems/ruby-2.2.2@xing/gems/rspec-core-3.1.7/lib/rspec/core/hooks.rb:185:in `before'
from /Users/evan/.rvm/gems/ruby-2.2.2@xing/gems/waterpig-0.6.1/lib/waterpig/browser-integration.rb:38:in`included'
from /Users/evan/.rvm/gems/ruby-2.2.2@xing/gems/rspec-core-3.1.7/lib/rspec/core/configuration.rb:1065:in `include'
from /Users/evan/.rvm/gems/ruby-2.2.2@xing/gems/rspec-core-3.1.7/lib/rspec/core/configuration.rb:1065:in`safe_include'
from /Users/evan/.rvm/gems/ruby-2.2.2@xing/gems/rspec-core-3.1.7/lib/rspec/core/configuration.rb:1059:in `block in configure_group'
from /Users/evan/.rvm/gems/ruby-2.2.2@xing/gems/rspec-core-3.1.7/lib/rspec/core/configuration.rb:1057:in`each'
from /Users/evan/.rvm/gems/ruby-2.2.2@xing/gems/rspec-core-3.1.7/lib/rspec/core/configuration.rb:1057:in `configure_group'
from /Users/evan/.rvm/gems/ruby-2.2.2@xing/gems/rspec-core-3.1.7/lib/rspec/core/world.rb:87:in`configure_group'
from /Users/evan/.rvm/gems/ruby-2.2.2@xing/gems/rspec-core-3.1.7/lib/rspec/core/example_group.rb:356:in `set_it_up'
from /Users/evan/.rvm/gems/ruby-2.2.2@xing/gems/rspec-core-3.1.7/lib/rspec/core/example_group.rb:323:in`subclass'
from /Users/evan/.rvm/gems/ruby-2.2.2@xing/gems/rspec-core-3.1.7/lib/rspec/core/example_group.rb:219:in `block in define_example_group_method'
from /Users/evan/.rvm/gems/ruby-2.2.2@xing/gems/rspec-core-3.1.7/lib/rspec/core/dsl.rb:41:in`block in expose_example_group_alias'
from /Users/evan/.rvm/gems/ruby-2.2.2@xing/gems/rspec-steps-2.0.1/lib/rspec-steps/builder.rb:10:in `build_example_group'
from /Users/evan/.rvm/gems/ruby-2.2.2@xing/gems/rspec-steps-2.0.1/lib/rspec-steps/dsl.rb:19:in`steps'
from /Users/evan/Development/Xing/apps/xing-application-base/e2e_tests/features/admin_signs_in_and_creates_page_spec.rb:2:in `<top (required)>'
from /Users/evan/.rvm/gems/ruby-2.2.2@xing/gems/activesupport-4.2.2/lib/active_support/dependencies.rb:268:in`load'
from /Users/evan/.rvm/gems/ruby-2.2.2@xing/gems/activesupport-4.2.2/lib/active_support/dependencies.rb:268:in `block in load'
from /Users/evan/.rvm/gems/ruby-2.2.2@xing/gems/activesupport-4.2.2/lib/active_support/dependencies.rb:240:in`load_dependency'
from /Users/evan/.rvm/gems/ruby-2.2.2@xing/gems/activesupport-4.2.2/lib/active_support/dependencies.rb:268:in `load'
from /Users/evan/.rvm/gems/ruby-2.2.2@xing/gems/rspec-core-3.1.7/lib/rspec/core/configuration.rb:1105:in`block in load_spec_files'
from /Users/evan/.rvm/gems/ruby-2.2.2@xing/gems/rspec-core-3.1.7/lib/rspec/core/configuration.rb:1105:in `each'
from /Users/evan/.rvm/gems/ruby-2.2.2@xing/gems/rspec-core-3.1.7/lib/rspec/core/configuration.rb:1105:in`load_spec_files'
from /Users/evan/.rvm/gems/ruby-2.2.2@xing/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:96:in `setup'
from /Users/evan/.rvm/gems/ruby-2.2.2@xing/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:84:in`run'
from /Users/evan/.rvm/gems/ruby-2.2.2@xing/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:69:in `run'
from /Users/evan/.rvm/gems/ruby-2.2.2@xing/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:37:in`invoke'
from /Users/evan/.rvm/gems/ruby-2.2.2@xing/gems/rspec-core-3.1.7/exe/rspec:4:in `<top (required)>'
from /Users/evan/.rvm/gems/ruby-2.2.2@xing/bin/rspec:23:in`load'
from /Users/evan/.rvm/gems/ruby-2.2.2@xing/bin/rspec:23:in `

'
from /Users/evan/.rvm/gems/ruby-2.2.2@xing/bin/ruby_executable_hooks:15:in`eval'
from /Users/evan/.rvm/gems/ruby-2.2.2@xing/bin/ruby_executable_hooks:15:in `'


@TablesawTablesawsen
Copy link

I hit a similar situation trying to upgrade CMS2, which does not use Waterpig, but uses similar SnapStep code:

/home/tablesaw/.rbenv/versions/2.0.0-p647/lib/ruby/gems/2.0.0/gems/rspec-core-3.4.1/lib/rspec/core/hooks.rb:591:in extract_scope_from': You must explicitly give a scope (example, context) or scope alias (each, all) when using symbols as metadata for a hook. (ArgumentError) from /home/tablesaw/.rbenv/versions/2.0.0-p647/lib/ruby/gems/2.0.0/gems/rspec-core-3.4.1/lib/rspec/core/hooks.rb:578:inscope_and_options_from'
from /home/tablesaw/.rbenv/versions/2.0.0-p647/lib/ruby/gems/2.0.0/gems/rspec-core-3.4.1/lib/rspec/core/hooks.rb:449:in register' from /home/tablesaw/.rbenv/versions/2.0.0-p647/lib/ruby/gems/2.0.0/gems/rspec-core-3.4.1/lib/rspec/core/hooks.rb:272:inafter'
from /home/tablesaw/rails/LRD/LRD-CMS/spec/support/browser-integration.rb:131:in included' from /home/tablesaw/.rbenv/versions/2.0.0-p647/lib/ruby/gems/2.0.0/gems/rspec-core-3.4.1/lib/rspec/core/configuration.rb:1312:ininclude'
from /home/tablesaw/.rbenv/versions/2.0.0-p647/lib/ruby/gems/2.0.0/gems/rspec-core-3.4.1/lib/rspec/core/configuration.rb:1312:in safe_include' from /home/tablesaw/.rbenv/versions/2.0.0-p647/lib/ruby/gems/2.0.0/gems/rspec-core-3.4.1/lib/rspec/core/configuration.rb:1253:inblock in configure_group_with'
from /home/tablesaw/.rbenv/versions/2.0.0-p647/lib/ruby/gems/2.0.0/gems/rspec-core-3.4.1/lib/rspec/core/configuration.rb:1252:in each' from /home/tablesaw/.rbenv/versions/2.0.0-p647/lib/ruby/gems/2.0.0/gems/rspec-core-3.4.1/lib/rspec/core/configuration.rb:1252:inconfigure_group_with'
from /home/tablesaw/.rbenv/versions/2.0.0-p647/lib/ruby/gems/2.0.0/gems/rspec-core-3.4.1/lib/rspec/core/configuration.rb:1245:in configure_group' from /home/tablesaw/.rbenv/versions/2.0.0-p647/lib/ruby/gems/2.0.0/gems/rspec-core-3.4.1/lib/rspec/core/example_group.rb:418:inset_it_up'
from /home/tablesaw/.rbenv/versions/2.0.0-p647/lib/ruby/gems/2.0.0/gems/rspec-core-3.4.1/lib/rspec/core/example_group.rb:384:in subclass' from /home/tablesaw/.rbenv/versions/2.0.0-p647/lib/ruby/gems/2.0.0/gems/rspec-core-3.4.1/lib/rspec/core/example_group.rb:255:inblock in define_example_group_method'
from /home/tablesaw/.rbenv/versions/2.0.0-p647/lib/ruby/gems/2.0.0/gems/rspec-core-3.4.1/lib/rspec/core/dsl.rb:43:in block in expose_example_group_alias' from /home/tablesaw/.rbenv/versions/2.0.0-p647/lib/ruby/gems/2.0.0/gems/rspec-steps-2.0.1/lib/rspec-steps/builder.rb:10:inbuild_example_group'
from /home/tablesaw/.rbenv/versions/2.0.0-p647/lib/ruby/gems/2.0.0/gems/rspec-steps-2.0.1/lib/rspec-steps/dsl.rb:19:in steps' from /home/tablesaw/rails/LRD/LRD-CMS/spec/stories/admin/blogs_and_topics_spec.rb:4:in<top (required)>'
from /home/tablesaw/.rbenv/versions/2.0.0-p647/lib/ruby/gems/2.0.0/gems/activesupport-4.2.4/lib/active_support/dependencies.rb:268:in load' from /home/tablesaw/.rbenv/versions/2.0.0-p647/lib/ruby/gems/2.0.0/gems/activesupport-4.2.4/lib/active_support/dependencies.rb:268:inblock in load'
from /home/tablesaw/.rbenv/versions/2.0.0-p647/lib/ruby/gems/2.0.0/gems/activesupport-4.2.4/lib/active_support/dependencies.rb:240:in load_dependency' from /home/tablesaw/.rbenv/versions/2.0.0-p647/lib/ruby/gems/2.0.0/gems/activesupport-4.2.4/lib/active_support/dependencies.rb:268:inload'
from /home/tablesaw/.rbenv/versions/2.0.0-p647/lib/ruby/gems/2.0.0/gems/rspec-core-3.4.1/lib/rspec/core/configuration.rb:1361:in block in load_spec_files' from /home/tablesaw/.rbenv/versions/2.0.0-p647/lib/ruby/gems/2.0.0/gems/rspec-core-3.4.1/lib/rspec/core/configuration.rb:1359:ineach'
from /home/tablesaw/.rbenv/versions/2.0.0-p647/lib/ruby/gems/2.0.0/gems/rspec-core-3.4.1/lib/rspec/core/configuration.rb:1359:in load_spec_files' from /home/tablesaw/.rbenv/versions/2.0.0-p647/lib/ruby/gems/2.0.0/gems/rspec-core-3.4.1/lib/rspec/core/runner.rb:102:insetup'
from /home/tablesaw/.rbenv/versions/2.0.0-p647/lib/ruby/gems/2.0.0/gems/rspec-core-3.4.1/lib/rspec/core/runner.rb:88:in run' from /home/tablesaw/.rbenv/versions/2.0.0-p647/lib/ruby/gems/2.0.0/gems/rspec-core-3.4.1/lib/rspec/core/runner.rb:73:inrun'
from /home/tablesaw/.rbenv/versions/2.0.0-p647/lib/ruby/gems/2.0.0/gems/rspec-core-3.4.1/lib/rspec/core/runner.rb:41:in invoke' from /home/tablesaw/.rbenv/versions/2.0.0-p647/lib/ruby/gems/2.0.0/gems/rspec-core-3.4.1/exe/rspec:4:in<top (required)>'
from /home/tablesaw/rails/LRD/LRD-CMS/.bundle/bin/rspec:16:in load' from /home/tablesaw/rails/LRD/LRD-CMS/.bundle/bin/rspec:16:in

'

@nyarly
Copy link
Owner

nyarly commented Nov 27, 2015

To be clear, Waterpig had to be updated because the newest steps can't
handle the old style after(:step) outside of the DSL(which happens in RSpec
helper modules like Waterpig and SnapStep). Where that's the cause, the
solution is to update the client code (update Waterpig, change the
SnapStep, or switch to newest Waterpig.)

Maybe this merits further discussion? I'm pretty confident of the solution,
and granted that Waterpig is almost all internal, I'm okay with leaving as
is so long as we spread the 'you have to update' knowledge around.

On Fri, Nov 27, 2015 at 10:50 AM Tablesaw Tablesawsen <
[email protected]> wrote:

I hit a similar situation trying to upgrade CMS2, which does not use
Waterpig, but uses similar SnapStep code:

/home/tablesaw/.rbenv/versions/2.0.0-p647/lib/ruby/gems/2.0.0/gems/rspec-core-3.4.1/lib/rspec/core/hooks.rb:591:in
extract_scope_from': You must explicitly give a scope (example, context)
or scope alias (each, all) when using symbols as metadata for a hook.
(ArgumentError)
from
/home/tablesaw/.rbenv/versions/2.0.0-p647/lib/ruby/gems/2.0.0/gems/rspec-core-3.4.1/lib/rspec/core/hooks.rb:578:in
scope_and_options_from'
from
/home/tablesaw/.rbenv/versions/2.0.0-p647/lib/ruby/gems/2.0.0/gems/rspec-core-3.4.1/lib/rspec/core/hooks.rb:449:in
register'
from
/home/tablesaw/.rbenv/versions/2.0.0-p647/lib/ruby/gems/2.0.0/gems/rspec-core-3.4.1/lib/rspec/core/hooks.rb:272:in
after'
from
/home/tablesaw/rails/LRD/LRD-CMS/spec/support/browser-integration.rb:131:in
included'
from
/home/tablesaw/.rbenv/versions/2.0.0-p647/lib/ruby/gems/2.0.0/gems/rspec-core-3.4.1/lib/rspec/core/configuration.rb:1312:in
include'
from
/home/tablesaw/.rbenv/versions/2.0.0-p647/lib/ruby/gems/2.0.0/gems/rspec-core-3.4.1/lib/rspec/core/configuration.rb:1312:in
safe_include'
from
/home/tablesaw/.rbenv/versions/2.0.0-p647/lib/ruby/gems/2.0.0/gems/rspec-core-3.4.1/lib/rspec/core/configuration.rb:1253:inblock
in configure_group_with'
from
/home/tablesaw/.rbenv/versions/2.0.0-p647/lib/ruby/gems/2.0.0/gems/rspec-core-3.4.1/lib/rspec/core/configuration.rb:1252:in
each'
from
/home/tablesaw/.rbenv/versions/2.0.0-p647/lib/ruby/gems/2.0.0/gems/rspec-core-3.4.1/lib/rspec/core/configuration.rb:1252:in
configure_group_with'
from
/home/tablesaw/.rbenv/versions/2.0.0-p647/lib/ruby/gems/2.0.0/gems/rspec-core-3.4.1/lib/rspec/core/configuration.rb:1245:in
configure_group'
from
/home/tablesaw/.rbenv/versions/2.0.0-p647/lib/ruby/gems/2.0.0/gems/rspec-core-3.4.1/lib/rspec/core/example_group.rb:418:in
set_it_up'
from
/home/tablesaw/.rbenv/versions/2.0.0-p647/lib/ruby/gems/2.0.0/gems/rspec-core-3.4.1/lib/rspec/core/example_group.rb:384:in
subclass'
from
/home/tablesaw/.rbenv/versions/2.0.0-p647/lib/ruby/gems/2.0.0/gems/rspec-core-3.4.1/lib/rspec/core/example_group.rb:255:inblock
in define_example_group_method'
from
/home/tablesaw/.rbenv/versions/2.0.0-p647/lib/ruby/gems/2.0.0/gems/rspec-core-3.4.1/lib/rspec/core/dsl.rb:43:in
block in expose_example_group_alias'
from
/home/tablesaw/.rbenv/versions/2.0.0-p647/lib/ruby/gems/2.0.0/gems/rspec-steps-2.0.1/lib/rspec-steps/builder.rb:10:in
build_example_group'
from
/home/tablesaw/.rbenv/versions/2.0.0-p647/lib/ruby/gems/2.0.0/gems/rspec-steps-2.0.1/lib/rspec-steps/dsl.rb:19:in
steps'
from
/home/tablesaw/rails/LRD/LRD-CMS/spec/stories/admin/blogs_and_topics_spec.rb:4:in
'
from
/home/tablesaw/.rbenv/versions/2.0.0-p647/lib/ruby/gems/2.0.0/gems/activesupport-4.2.4/lib/active_support/dependencies.rb:268:in
load'
from
/home/tablesaw/.rbenv/versions/2.0.0-p647/lib/ruby/gems/2.0.0/gems/activesupport-4.2.4/lib/active_support/dependencies.rb:268:inblock
in load'
from
/home/tablesaw/.rbenv/versions/2.0.0-p647/lib/ruby/gems/2.0.0/gems/activesupport-4.2.4/lib/active_support/dependencies.rb:240:in
load_dependency'
from
/home/tablesaw/.rbenv/versions/2.0.0-p647/lib/ruby/gems/2.0.0/gems/activesupport-4.2.4/lib/active_support/dependencies.rb:268:in
load'
from
/home/tablesaw/.rbenv/versions/2.0.0-p647/lib/ruby/gems/2.0.0/gems/rspec-core-3.4.1/lib/rspec/core/configuration.rb:1361:in
block in load_spec_files'
from
/home/tablesaw/.rbenv/versions/2.0.0-p647/lib/ruby/gems/2.0.0/gems/rspec-core-3.4.1/lib/rspec/core/configuration.rb:1359:in
each'
from
/home/tablesaw/.rbenv/versions/2.0.0-p647/lib/ruby/gems/2.0.0/gems/rspec-core-3.4.1/lib/rspec/core/configuration.rb:1359:in
load_spec_files'
from
/home/tablesaw/.rbenv/versions/2.0.0-p647/lib/ruby/gems/2.0.0/gems/rspec-core-3.4.1/lib/rspec/core/runner.rb:102:in
setup'
from
/home/tablesaw/.rbenv/versions/2.0.0-p647/lib/ruby/gems/2.0.0/gems/rspec-core-3.4.1/lib/rspec/core/runner.rb:88:in
run'
from
/home/tablesaw/.rbenv/versions/2.0.0-p647/lib/ruby/gems/2.0.0/gems/rspec-core-3.4.1/lib/rspec/core/runner.rb:73:in
run'
from
/home/tablesaw/.rbenv/versions/2.0.0-p647/lib/ruby/gems/2.0.0/gems/rspec-core-3.4.1/lib/rspec/core/runner.rb:41:in
invoke'
from
/home/tablesaw/.rbenv/versions/2.0.0-p647/lib/ruby/gems/2.0.0/gems/rspec-core-3.4.1/exe/rspec:4:in
'
from /home/tablesaw/rails/LRD/LRD-CMS/.bundle/bin/rspec:16:in load'
from /home/tablesaw/rails/LRD/LRD-CMS/.bundle/bin/rspec:16:in
'


Reply to this email directly or view it on GitHub
#8 (comment).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants