LoginSignup
43
22

More than 5 years have passed since last update.

RSpec のコードで Rubocop の "Block has too many lines." という警告を無視したい

Last updated at Posted at 2017-04-18

概要

ある晴れた日のとある Rails プロジェクトでのできごと。Rubocop のバージョンが少し古かったので、現在の最新版である 0.48.1 に更新しました。そして、rubocop コマンドを実行すると、RSpec のコードの多くで Metrics/BlockLength: Block has too many lines. という警告が表示されました。

$ bin/rubocop --display-cop-names

spec/models/user_spec.rb:1:1: C: Metrics/BlockLength: Block has too many lines. [35/25]
describe User, type: :model do ...

とはいえ、RSpec は専用の DSL で記述する性質上、どうしても 1 つのブロックあたりの行数が増えてしまいます。そのため、行数を 25 行以下に書き換えるのは現実的ではありません。とはいえ、RSpec のコードで他の規約違反を無視したくはないので、Rubocop の監視対象から外すことはしたくありません。では、RSpec のコードだけ Metrics/BlockLength を無視するにはどうすればいいでしょうか。

方法

RSpec のコードで無視したい cop の名前が Metrics/BlockLength だったので、以下の記述を .rubocop.yml に追加しました。

rubocop.yml
Metrics/BlockLength:
  Exclude:
    - 'spec/**/*'

参考

43
22
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
43
22