LoginSignup
0
0

More than 3 years have passed since last update.

【RuboCop】RSpecのsubject使用時の規約違反とRuboCopの違反の種類について

Posted at

はじめに

RSpecでsubjectを使用して、DRYにしようとする中で、

subject { get '/api', params: params, headers: headers; response }

このように書くと
RuboCopの警告を受けた。

Do not use semicolons to terminate expressions. (convention:Style/Semicolon)

終了の表現にセミコロンを使用しないでください。(規約:スタイル/セミコロン)

対処

じゃあ、使わない場合はどうするか、、

 subject do
   get '/api', params: params, headers: headers
   response
 end

こうすると、無事警告が消えました。
subject do ~~ endとして、2行に分けることでセミコロンでコードの終端を表現する必要がなくなった、ということですね。

RuboCopの警告の種類

ずっと、RuboCopの指摘の事を警告、とだけ呼んでしたが、これをきっかけに調べると、
今回の、conventionは規約違反。
段階があり以下の通りとなっています。

種類 意味
Clean 違反なし
Convention 慣習違反
Warning 警告
Error エラー
Fatal 致命的

下に行くほど重大、ということですね。
勉強になりました。

参考にさせて頂いた記事

終わりに。

最後まで読んで頂きありがとうございます:bow_tone1:
転職の為、未経験の状態からRailsを学習しております。正しい知識を着実に身に着け、実力のあるエンジニアになりたいと考えています。継続して投稿していく中で、その為のインプットも必然的に増え、成長に繋がるかと考えています。
今現在、初心者だからといって言い訳はできないですが、投稿の内容に間違っているところや、付け加えるべきところが多々あるかと思いますので、ご指摘頂けると幸いです。この記事を読んで下さりありがとうございました。

0
0
0

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
0
0