こんにちは、rspec
を実行すると、多くの警告が表示されました。
それを修正する方法は? rbenvでRubyバージョン2.1.2
を試しましたが、まったく機能しませんでした。
これが私のGemfileです
source 'https://rubygems.org'
gem 'bootstrap-sass'
gem 'coffee-Rails'
gem 'Rails'
gem 'haml-Rails'
gem 'sass-Rails'
gem 'uglifier'
gem 'jquery-Rails'
group :development do
gem 'sqlite3'
gem 'pry'
gem 'pry-nav'
gem 'thin'
gem "better_errors"
gem "binding_of_caller"
end
group :test, :development do
gem 'rspec-Rails'
end
group :production do
gem 'pg'
gem 'Rails_12factor'
end
gem 'hirb'
gem 'crack'
gem 'ap'
gem 'awesome_print'
# gem 'faker'
警告メッセージ
% rspec (git)-[feature/w1_test_the_video_model]
nil
/Users/jeff/.rbenv/versions/2.0.0-p481/lib/Ruby/gems/2.0.0/gems/bootstrap-sass-3.1.1.1/lib/bootstrap-sass/sass_functions.rb:20: warning: ambiguous first argument; put parentheses or even spaces
/Users/jeff/.rbenv/versions/2.0.0-p481/lib/Ruby/gems/2.0.0/gems/sass-3.2.19/lib/sass/version.rb:5: warning: loading in progress, circular require considered harmful - /Users/jeff/.rbenv/versions/2.0.0-p481/lib/Ruby/gems/2.0.0/gems/sass-3.2.19/lib/sass.rb
from /Users/jeff/.rbenv/versions/2.0.0-p481/bin/rspec:23:in `<main>'
from /Users/jeff/.rbenv/versions/2.0.0-p481/bin/rspec:23:in `load'
from /Users/jeff/.rbenv/versions/2.0.0-p481/lib/Ruby/gems/2.0.0/gems/rspec-core-3.0.0/exe/rspec:4:in `<top (required)>'
from /Users/jeff/.rbenv/versions/2.0.0-p481/lib/Ruby/gems/2.0.0/gems/rspec-core-3.0.0/lib/rspec/core/runner.rb:38:in `invoke'
from /Users/jeff/.rbenv/versions/2.0.0-p481/lib/Ruby/gems/2.0.0/gems/rspec-core-3.0.0/lib/rspec...
同じエラーが発生し、ページを参照するように修正しました。
--warnings
デフォルトで.rspecファイルのオプション。その行を削除すると、警告が消えます。
これは修正ではありませんが、--warnings
ファイルから.rspec
を削除すると、警告が「消える」ようになります。
基本的に、--warnings
フラグはRubyを冗長モードにします。これにより、一連の 後で噛み付く可能性のある構文の問題 のアラートがオンになります。残念ながら、警告を有効にしてテストされたことがないコードがたくさんあります(おそらく使用している)。つまり、自分のものではないコードのジャンクがたくさん表示されているということです。
この場合、sassgemに問題があるようです。
これらは循環依存のためにrspecによって発せられる警告です。おそらくこれは、正しくなくなったrequire
ステートメントの組み合わせです。 (私はRSpec 3.0の時点で信じています。)
これがRails app:
Rails_helper.rb
がない場合は、Rails g rspec:install
を使用してこれを設定する必要があります。 Rails_helper.rb
にはspec_helper
が必要であり、Railsに固有のものが含まれています。.rspec
ファイルに--require 'Rails_helper'
が含まれていること、およびソース管理にチェックインされていることを確認してください。require 'spec_helper'
またはrequire 'Rails_helper'
を削除します。これがRails app:
.rspec
ファイルに--require 'spec_helper'
が含まれていること、およびソース管理にチェックインされていることを確認してください。require 'spec_helper'
を削除します。これにより、特定のファイルでrspecを実行するか、すべてのファイルでrspecを実行するかに関係なく、依存関係が1回だけロードされるようになります。