我不熟悉测试,并且在模型或控制器中通常会遇到调试问题。
我已经从工厂创建了一个用户(使用FactoryGirl,如果这有所不同),并且我很确定create方法因保存时的验证而失败。但是,我很想知道如何调试在测试期间实例化的模型。
我试过了:
user.inspect
puts user
raise user.to_yaml
(后者工作,但停止执行其余的测试,并且不显示验证错误 - 它只证明我试图实例化的模型的存在或不存在。)
除了将模型作为错误提升之外,测试期间没有调试输出,而我唯一能做的就是为我的测试数据库添加日志,看看那里发生了什么,但看起来很笨拙最好。你会用什么方法来完成我所追求的目标?
感谢您的任何指示
答案 0 :(得分:5)
答案 1 :(得分:2)
Checkout plymouth:https://github.com/banister/plymouth
与PRY合作为您提供一个很好的REPL&测试失败时调试接口。我已经在一些项目中使用它,发现它非常方便用于测试中的模糊问题。
答案 2 :(得分:0)
您可以通过在测试中添加pry
来打开binding.pry
会话。这样,您就可以访问测试中的确切点(以及其他地方,如果需要)。有关在official Pry wiki
pry
添加到Rails的详细信息