1
出于某种原因,未显示单元测试失败的行号。 Rails 3中的新功能?我不确定。这使得很难知道测试失败的地方。知道哪一行导致错误的唯一方法是在测试代码的任何地方放置调试语句。显示Rails测试失败的行号
输出示例如下。这个例子显示了很多有用的信息。例如错误消息:参数的错误数量(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!
目前我正在添加跟踪语句以确定最后成功执行的测试代码行。我必须做错什么? Rails必须有更好的方式来做到这一点? – onknows 2012-08-02 11:49:53
该错误似乎源于active_support/testing中的“setup_and_teardown”方法。你有没有用于测试的设置代码,可能会失败? – Frost 2012-08-02 12:56:23