当我运行我的规格时,例如" rspec。"从命令行,我可以在控制台中看到puts或logger.info,如果我在我的规范中调用该代码。但是,如果对我正在测试的控制器中调用logger.info或puts,则它不会输出到test.log文件或控制台窗口。
我使用RSpec 2和Rails 3.0.4
此外,这是一个refinerycms网站,但我们正在尝试测试的Refinery CMS外部有几个控制器。当我在普通站点中执行puts或logger.info时,它似乎工作正常,甚至运行RSpec。
感谢。
答案 0 :(得分:1)
好的,所以我们终于弄明白了。
问题在于,炼油厂需要创建默认用户,或者不允许您点击前端页面。首次启动时,它会提示用户创建默认的管理员登录。因此,当我们运行测试时,我们的代码永远不会受到影响。炼油厂在测试期间将“浏览器”重定向到“创建第一个用户”页面。
我们使用默认用户创建了种子,然后一切都恢复了。所以问题永远不是做“put”或“logger.info”在炼油厂或rspec中不起作用。就是在测试期间,我们从未到过我们的控制器。