2

当我运行“rspec”之类的规范时。从命令行,如果我在规范中调用该代码,我可以在控制台中看到 puts 或 logger.info。但是,如果对 logger.info 或 puts 的调用在我正在测试的控制器中,它不会输出到 test.log 文件或控制台窗口。

我正在使用 RSpec 2 和 Rails 3.0.4

此外,这是一个 refinerycms 站点,但我们在尝试测试的 Refinery CMS 之外有几个控制器。当我在普通站点中执行 puts 或 logger.info 时,它似乎工作正常,甚至运行 RSpec。

谢谢。

4

1 回答 1

1

好的,所以我们终于想通了。

问题是炼油厂需要创建一个默认用户,否则它不会让你点击前端页面。当你第一次启动它时,它会提示用户创建一个默认的管理员登录。因此,当我们运行测试时,我们的代码永远不会受到影响。炼油厂在测试期间将“浏览器”重定向到“创建第一个用户”页面。

我们使用默认用户创建了一个种子,然后一切都恢复了。所以问题从来不是在炼油厂或 rspec 中做“puts”或“logger.info”不起作用。就是在测试期间,我们从来没有到达我们的控制器。

于 2011-04-08T16:16:28.033 回答