1

何らかの理由で、単体テストが失敗している行番号が表示されません。Rails 3 は初めてですか? わからない。これにより、テストが失敗した場所を知ることが非常に困難になります。エラーの原因となっている行を知る唯一の方法は、テスト コードのどこにでもデバッグ ステートメントを配置することです。

出力の例を以下に示します。この例は、多くの有用な情報を示しています。たとえば、エラー メッセージ: 引数の数が間違っています (2 の場合は o)。残念ながら、単体テスト コード行の行番号は表示されません。行番号を取得することは可能ですか?

ActionController::TestCase
ActionDispatch::IntegrationTest
ActiveRecord::TestCase
ActiveSupport::TestCase
DefineIssueTest
     test_Get_issues                                                     ERROR
        wrong number of arguments (0 for 2)
        STDERR:
        Exception `ArgumentError' at c:/Ruby19/lib/ruby/gems/1.9.1/gems/activesu
pport-3.1.4/lib/active_support/testing/setup_and_teardown.rb:35:in `block in run
'
        c:/Ruby19/lib/ruby/gems/1.9.1/gems/activesupport-3.1.4/lib/active_suppor
t/callbacks.rb:408:in `_run_setup_callbacks'
        c:/Ruby19/lib/ruby/gems/1.9.1/gems/activesupport-3.1.4/lib/active_suppor
t/callbacks.rb:81:in `run_callbacks'
        c:/Ruby19/lib/ruby/gems/1.9.1/gems/activesupport-3.1.4/lib/active_suppor
t/testing/setup_and_teardown.rb:34:in `run'
Test::Unit::TestCase
==============================================================================
  pass: 0,  fail: 0,  error: 1
  total: 1 tests with 20 assertions in 0.935994 seconds
==============================================================================
Errors running test:single!
4

1 に答える 1

0

私は最近その問題を抱えていました。テストスイート自体で失敗するテストを書いたことがわかりました。(最小パスワード長: 8 文字。次に、6 文字の例を設定しました。) エラー メッセージが無意味だったため、問題を理解するのに永遠にかかりました。

于 2012-08-03T13:58:51.227 に答える