在测试环境中调试Ruby/Rails



由于这个问题,我想在运行rspec或cucumber时逐步执行ruby代码。我不仅想要停止执行,而且想要一行一行地继续执行代码。

当RAILS_ENV = 'test'时,是否有一种最佳实践方法来进入正在运行的代码?目前有什么办法可以做到吗?

pry-debugger允许您逐行执行代码:

  • step:步进执行到下一行或下一个方法。使用一个可选的数字参数来执行多次步进。
  • next:移到同一帧内的下一行。还接受一个可选的数字参数来步进多行。
  • finish:执行直到当前栈帧返回。
  • continue:继续执行程序并结束Pry会话

我使用的是pry,它在当前控制台中打开一个解释器,这样您就可以用它们的当前值检查变量。

只需要gem并将binding.pry放入您的测试中。自述文件是非常自我解释的,所以我留给你去做:)

最新更新