嗨我在跑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...
答案 0 :(得分:38)
我遇到了同样的错误并修复了它的页面。
Guard with RSpec on Rails 4 giving a lot of warnings
默认情况下.rspec文件中的
--warnings
选项。删除该行,警告就会消失。
答案 1 :(得分:23)
这不是一个解决方法,但从--warnings
文件中删除.rspec
会使警告消失。#34;
基本上,--warnings
标志将ruby置于详细模式,这会打开一堆syntax issues that could potentially bite you later的警报。不幸的是,那里有很多代码(你可能正在使用),它们从未在启用警告的情况下进行过测试。这意味着你已经看到了一堆垃圾,而不是你的代码。
在这种情况下,看起来sass gem有问题。
答案 2 :(得分:0)
由于循环依赖性,这些是rspec发出的警告。可能这是require
语句的混合,不再正确。 (我相信自RSpec 3.0起。)
如果这是一个Rails应用程序:
rails_helper.rb
,则应使用rails g rspec:install
进行设置。 rails_helper.rb
需要spec_helper
,并且它包含特定于Rails的内容。.rspec
文件包含--require 'rails_helper'
,并且已将其签入源代码管理中。require 'spec_helper'
或require 'rails_helper'
。如果这不是Rails应用程序:
.rspec
文件包含--require 'spec_helper'
,并且已将其签入源代码管理中。require 'spec_helper'
。这将确保依赖项仅加载一次,无论您是在特定文件上运行rspec还是为所有文件运行。