我是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
我在相反的方向找到信息(e.g.),但不能抑制堆栈轨迹。
编辑:
这将是很好的上下车轻松地把他们。正如下面所指出的,有时它们对追踪错误很有用。
好吧,所以事实证明堆栈跟踪来自文本夹具中的不良数据;随着修复,产量如我所料。处理基于错误假设的问题的礼仪是什么? – Reid 2011-02-04 15:30:45