显示Rails测试失败的行号

时间:2012-08-02 11:39:29

标签: ruby-on-rails-3 testing

由于某种原因,未显示单元测试失败的行号。 Rails 3中的新功能?我不确定。这使得很难知道测试失败的地方。知道哪一行导致错误的唯一方法是将调试语句放在测试代码中。

输出示例如下。该示例显示了许多有用的信息。例如错误消息:参数数量错误(o表示2)。不幸的是,它没有显示单元测试代码行的行号。是否可以获得行号?

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!

1 个答案:

答案 0 :(得分:0)

我最近有这个问题;事实证明,我已经编写了一个测试套件本身失败的测试。 (最小密码长度:8个字符。然后我设置了一个包含6个字符的例子。)让我永远找出问题,因为错误信息是非感性的。