2009-10-28 66 views

回答

22

可以使用轨道记录器,看看你的输出:(在一个单独的终端标签或窗口从项目的根目录)在命令行上

Rails::logger.debug "Interesting stuff" 

运行tail -f log/test.log看到的结果。

+0

是的非常快,工作就像一个魅力! – Alexandre 2009-10-30 15:55:52

+2

在rails 3中,如果使用rake运行测试,可以看到puts输出 - 跟踪 – 2011-01-28 21:50:03

+0

嗯..这些都不适用于Rails 3,常规ruby测试或spork。 – Trip 2012-05-04 16:29:48

3

我用把所有的时间在测试时,我赶紧黑客调试一个测试。所以我不使用rake测试:*,而是运行单个测试,输出显示。

ruby -Itest test/unit/user/context_test.rb 
6

我刚刚在铁轨下挣扎(3.2)。我不知道各个版本之间的情况如何变化,但答案并没有真正回答这个问题。而是使用

$stdout.puts msg 

在运行单个测试时输出到控制台以及其他控制台消息。

+0

适用于rails 2.0.2(最佳答案没有) – 2016-01-19 00:39:45

+0

更简单的回答。适用于** Rails 4.0.13 ** – RousseauAlexandre 2016-10-07 07:10:56

0

可以使用放入单独的测试如下例如:

puts "\n\n #{@object.name}" 

这看起来就像在你的终端窗口如下为测试运行

入门E. .. EEE

英国.E

在2.787886秒内完成。

(其中@object.name == "United Kingdom"在这种情况下)

这是一个很粗略的方法而不是简单的调试