3

テストの rspec スイートを実行するとき

bundle exec rspec spec/

ログは、非常に多くのログ ステートメントで雑然としています。特に、コントローラーの仕様では、次のようなことが何度も示されています。

{"controller"=>"myController", "action"=>"create"}

これらを取り除きたいのですが、ソースが見つかりません。このようなものに一致する puts ステートメントはなく、Rails.logger 呼び出しもありません。これはログレベルの問題だと思いますが、間違っている可能性があります。environment/test.rb で config.log_level を設定しても効果はありません。

現在のrspec構成は次のようになります

RSpec.configure do |config|
  config.include Devise::TestHelpers, :type => :controller
  config.mock_with :rspec


  config.before(:suite) do
    DatabaseCleaner.strategy = :truncation
    DatabaseCleaner.orm = "mongoid"
  end

  config.before(:each) do
    DatabaseCleaner.clean
  end

  config.color_enabled = true
  config.tty = true
  config.formatter =  :documentation # :progress, :html, :textmate
end

これらのタイプのログを無効にする方法について何か考えはありますか?

補足: Gemfile は「rails」、「3.2.13」および「rspec-rails」、「2.14.0」を使用しています。

4

2 に答える 2

30

後で誰かがこの同じスレッドに出くわした場合に備えて、著者が説明したのと同じ問題を抱えていることがわかりましたがrails_12factor、Gemfile に Heroku gem があることが原因でした。

別のユーザーは、宝石が二重の出力を引き起こしていると言いました:二重のコンソール出力?

コメントアウトするか、:productionグループに入れるとすぐに、コンソールの詳細な SQL 出力がすべて消えました。

同じ問題があるかどうかを確認するもう1つのことですが、著者の解決策はそれを修正するものではありません.

于 2014-01-03T02:08:58.270 に答える
2

結局、問題は Rspec にはありませんでした。代わりに、誰かがコントローラ ヘルパーに 'p params' を書きました。このため、この質問は実際には有効ではありません。

Relishapp のドキュメントは、これを明らかにするのに非常に役立ちました

https://www.relishapp.com/rspec/rspec-rails/docs

于 2013-08-29T09:26:55.270 に答える