2017-09-21 11 views
1

私はこのIntelliJの警告になり、私の仕様で多くの行があります。のIntelliJ Rubyの警告は、「適切に解決することはできません、処理されなかった」

にの大半を「適切に解決できません、処理されなかったの」行はこの形式になります。

expect(result[:err]).to include('(Check the file permissions.)') 

私は別の変数にリテラル文字列を移動する場合は、警告が消える:

msg = '(Check the file permissions.)' 
    expect(result[:err]).to include(msg) 

このエラーをなくす方法はありますか(すべての文字列リテラルを変数に移動する以外)?

+0

'to'メソッド呼び出しにカッコを追加することで修正されました:' expect(result [:err])to(include( '(ファイルのパーミッションをチェックします)')) '? – Oxfist

+0

いいえ、かっこを追加することは役に立ちません。 – Zack

+0

'result [:err]'は文字列ですか?また、メッセージに二重引用符を入れてみると、奇妙な解析バグかもしれません。 – Oxfist

答えて

0

私は、RubyMineパーサーは、includeがモジュールを組み込むためのRubyキーワードだと考えているので、対応するモジュールを見つけることができない旨の警告を発します。

私はこの警告を修正するために見つけた唯一の方法は、RSpecのが提案しinclusionエイリアスを使用マッチャー含めることです:これは警告を修正

expect(result[:err]).to inclusion('(Check the file permissions.)') 

をし、期待が同じに動作しますが、悲しいことに、英語の文があります悪い。

あり利用できる3つの、他の別名でもあるが、彼らはより良い英語の構文を与えていない:

alias_matcher :a_collection_including, :include 
alias_matcher :a_string_including,  :include 
alias_matcher :a_hash_including,  :include 
alias_matcher :including,    :include 

これらの別名定義は、この答えはに誰かを導く可能性が偶然たぶんhere

を見つけることができますより良い解決策。

関連する問題