第三方 gem 中的 RSpec 语法扩展
一些宝石,例如 cancancan、action_policy 和 pundit 提供了它们自己的 RSpec 语法扩展和别名。同样,像 test-prof、rspec-its 和 saharspec 这样的 RSpec 扩展也是如此。
默认情况下,RuboCop RSpec 不了解这些语法扩展,并且不打算在默认配置文件中收集所有这些扩展。宝石可以为 RuboCop RSpec 提供配置,以允许正确检测 RSpec 元素。RuboCop 允许第三方宝石配置 RuboCop。
为 RuboCop RSpec 打包配置
由于 一个 bug,此功能在 rubocop-rspec 2.5.0 及更早版本中无法正常工作。
|
对于第三方宝石,只需遵循三个步骤
-
提供一个配置文件(例如
.rubocop_rspec_alias_config.yml
或config/rubocop-rspec.yml
)。请查看 RSpec DSL 配置,了解如何配置 RSpec 语法的不同元素。 -
在他们的文档中添加一个部分,说明用户如何通过使用 RuboCop RSpec 来充分检测他们的语法扩展而受益。示例
## Usage with RuboCop RSpec Please add the following to your `.rubocop.yml` to make RuboCop RSpec aware of our cool syntax extensions: inherit_gem: third-party-gem: .rubocop_rspec_alias_config.yml
-
通过更新他们的
gemspec’s `spec.files
来包含配置文件,以包含上述配置文件。
查看拉取请求:test-prof 和 action_policy,了解一个不太简单的示例。