Rails composer自定义应用程序:rspec规范失败 - RSpec的未定义方法`权限':: ExampleGroups :: UserPolicy:Class(NoMethodError)

gth*_*eys 2 devise ruby-on-rails-4 pundit

我正在通过rails composer(https://github.com/RailsApps/rails-composer)安装自定义应用程序.代码:https://github.com/gtheys/worke_rs

当我尝试运行rspec规范时,我得到了

    › rake spec
/Users/gtheys/.rbenv/versions/2.1.2/bin/ruby -I/Users/gtheys/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rspec-core-3.1.2/lib:/Users/gtheys/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rspec-support-3.1.0/lib /Users/gtheys/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rspec-core-3.1.2/exe/rspec --pattern spec/\*\*\{,/\*/\*\*\}/\*_spec.rb
/Users/gtheys/Code/worke_rs/spec/policies/user_policy_spec.rb:8:in `block in <top (required)>': undefined method `permissions' for RSpec::ExampleGroups::UserPolicy:Class (NoMethodError)
    from /Users/gtheys/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rspec-core-3.1.2/lib/rspec/core/example_group.rb:335:in `module_exec'
    from /Users/gtheys/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rspec-core-3.1.2/lib/rspec/core/example_group.rb:335:in `subclass'
    from /Users/gtheys/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rspec-core-3.1.2/lib/rspec/core/example_group.rb:229:in `block in define_example_group_method'
    from /Users/gtheys/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rspec-core-3.1.2/lib/rspec/core/dsl.rb:41:in `block in expose_example_group_alias'
    from /Users/gtheys/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rspec-core-3.1.2/lib/rspec/core/dsl.rb:79:in `block (2 levels) in expose_example_group_alias_globally'
    from /Users/gtheys/Code/worke_rs/spec/policies/user_policy_spec.rb:1:in `<top (required)>'
    from /Users/gtheys/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:241:in `load'
    from /Users/gtheys/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:241:in `block in load'
    from /Users/gtheys/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:232:in `load_dependency'
    from /Users/gtheys/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:241:in `load'
    from /Users/gtheys/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rspec-core-3.1.2/lib/rspec/core/configuration.rb:1105:in `block in load_spec_files'
    from /Users/gtheys/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rspec-core-3.1.2/lib/rspec/core/configuration.rb:1105:in `each'
    from /Users/gtheys/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rspec-core-3.1.2/lib/rspec/core/configuration.rb:1105:in `load_spec_files'
    from /Users/gtheys/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rspec-core-3.1.2/lib/rspec/core/runner.rb:96:in `setup'
    from /Users/gtheys/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rspec-core-3.1.2/lib/rspec/core/runner.rb:84:in `run'
    from /Users/gtheys/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rspec-core-3.1.2/lib/rspec/core/runner.rb:69:in `run'
    from /Users/gtheys/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rspec-core-3.1.2/lib/rspec/core/runner.rb:37:in `invoke'
    from /Users/gtheys/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rspec-core-3.1.2/exe/rspec:4:in `<main>'
/Users/gtheys/.rbenv/versions/2.1.2/bin/ruby -I/Users/gtheys/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rspec-core-3.1.2/lib:/Users/gtheys/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rspec-support-3.1.0/lib /Users/gtheys/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rspec-core-3.1.2/exe/rspec --pattern spec/\*\*\{,/\*/\*\*\}/\*_spec.rb failed
Run Code Online (Sandbox Code Playgroud)

当我签出https://github.com/RailsApps/rails-devise-pundit时,rspec规范可行.

/Users/gtheys/.rbenv/versions/2.1.2/bin/ruby -I/Users/gtheys/.rbenv/versions/2.1.2/gemsets/rails-devise-pundit/gems/rspec-core-3.0.4/lib:/Users/gtheys/.rbenv/versions/2.1.2/gemsets/rails-devise-pundit/gems/rspec-support-3.0.4/lib -S /Users/gtheys/.rbenv/versions/2.1.2/gemsets/rails-devise-pundit/gems/rspec-core-3.0.4/exe/rspec ./spec/features/users/sign_in_spec.rb ./spec/features/users/sign_out_spec.rb ./spec/features/users/user_delete_spec.rb ./spec/features/users/user_edit_spec.rb ./spec/features/users/user_index_spec.rb ./spec/features/users/user_show_spec.rb ./spec/features/visitors/home_page_spec.rb ./spec/features/visitors/navigation_spec.rb ./spec/features/visitors/sign_up_spec.rb ./spec/models/user_spec.rb ./spec/policies/user_policy_spec.rb
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用此应用程序作为示例了解有关规范的更多信息.但我无法弄清楚出了什么问题.我假设rspec的版本中存在一个问题,其中某些内容已被弃用?

希望有人可以指导我并帮助解决这个问题以及我对它的理解.

mar*_*ins 6

还记得添加你的rails_helper

require 'pundit/rspec'
Run Code Online (Sandbox Code Playgroud)