私はRuby on Rails初心者や筆記試験を行っています。これらのうちのいくつかは例外を生成します。私は "レイクテスト"の出力が私に例外エラーメッセージを与えるが、全体のバックトレースは与えないことを望む。 (私は、その後に記入します未実装の機能を実行するテストを書きたいと思います。)Railsがエラーをテストしたときのスタックトレースを抑制する
を例えば、実際の出力:
Started
E
Finished in 0.081054 seconds.
1) Error:
test_should_fail(VersioningTest):
ActiveRecord::StatementInvalid: PGError: ERROR: null value in column "client_ip" violates not-null constraint
: INSERT INTO "revisions" ("created_at", "id") VALUES ('2011-02-03 20:14:17', 980190962)
/Users/rpriedhorsky/.rvm/gems/ruby-1.9.2-p136/gems/activerecord-3.0.3/lib/active_record/connection_adapters/abstract_adapter.rb:202:in `rescue in log'
/Users/rpriedhorsky/.rvm/gems/ruby-1.9.2-p136/gems/activerecord-3.0.3/lib/active_record/connection_adapters/abstract_adapter.rb:194:in `log'
/Users/rpriedhorsky/.rvm/gems/ruby-1.9.2-p136/gems/activerecord-3.0.3/lib/active_record/connection_adapters/postgresql_adapter.rb:496:in `execute'
[... etc. etc. etc. ...]
1 tests, 0 assertions, 0 failures, 1 errors, 0 skips
所望の出力:
Started
E
Finished in 0.081054 seconds.
1) Error:
test_should_fail(VersioningTest):
ActiveRecord::StatementInvalid: PGError: ERROR: null value in column "client_ip" violates not-null constraint
1 tests, 0 assertions, 0 failures, 1 errors, 0 skips
I反対方向には情報(e.g.)が見つかりましたが、スタックトレースは抑制されませんでした。
編集:
オンとオフを簡単にそれらを有効にするとよいでしょう。下記のように、バグを追跡するのに便利なことがあります。 - あなたは「バックトレースサイレンサー」を見て取ることができる
OK、それはスタックトレースは、テキストフィクスチャの不良データから来ていることがわかります。修復されて、出力は私が期待している通りです。間違った前提に基づいた質問に対処するためのエチケットは何ですか? – Reid