10

我是测试新手,并且在调试时遇到了麻烦,就像我通常在模型或控制器中一样。

我已经从工厂创建了一个用户(使用 FactoryGirl,如果这有区别的话),我很确定 create 方法由于保存时的验证而失败。但是,我很想知道如何调试在测试期间实例化的模型。

我试过了:

user.inspect
puts user
raise user.to_yaml 

(后者有效,但停止执行我的其余测试,并且不显示验证错误——它只证明我尝试实例化的模型的存在或不存在。)

除了将模型提升为错误之外,在测试期间没有调试输出,我唯一能做的就是跟踪我的测试数据库的日志并查看那里发生了什么,但充其量看起来很笨重。你会建议什么方法来完成我所追求的?

谢谢你的任何方向

4

3 回答 3

5

得到了答案,再简单不过了(这个用户更好、更简洁地表达了我的问题:)

如何在 rspec 测试中输出变量?

简短的回答,使用漂亮的打印:

pp用户

于 2012-09-05T19:13:02.940 回答
2

结帐普利茅斯:https ://github.com/banister/plymouth

它与 PRY 一起工作,在测试失败时为您提供一个不错的 REPL 和调试界面。我在一些项目中使用过它,发现它对于测试中的晦涩问题非常方便。

于 2012-09-05T18:36:24.880 回答
0

您始终可以通过添加到您的测试来打开pry会话。binding.pry这样,您就可以访问在测试的确切点(如果需要,在其他地方)可用的任何内容。有关在官方 Pry wikipry中添加到 Rails 的更多信息

于 2017-11-10T13:50:58.280 回答