railstutorial 如何添加调试以测试

railstutorial how to add debug to test

我知道如何添加

<%= debug(params) if Rails.env.development? %>

但是为什么会

<%= debug(params) if Rails.env.test? %>

没有什么好处?

ActionView::Helpers::DebugHelper#debug "returns a YAML representation of object wrapped with <pre> and </pre>",并将其放在页面上的 <%= %> 之间会显示它,因此在通过浏览器进行调试时它会有所帮助,因为您始终会打开一个页面。

但是在测试环境中,您主要是 运行 'headless'(不使用浏览器),因此您没有任何可显示的内容,因为您没有打开页面。

如果你想在运行时调试你的测试(做一些事情,比如查看在你的测试期间分配给你的变量的值等),那么你绝对可以使用像 Pry and Byebug.[= 这样的 gem 来做到这一点。 16=]