我正在尝试使用binding.pry
暂停rspec测试,以了解它失败的原因。这是一个简化的版本:
def copy_db
binding.pry
puts 'hello world'
end
binding.pry
会暂停执行,但会话中的任何输入都会导致执行结束。你知道为什么会这样吗?这不是一个rails项目。
发布于 2018-09-20 21:32:00
我不确定前面的答案是否足够,但是除了binding.pry之外,你可以尝试的另一件事是使用byebug gem。
在你的Gemfile中添加:
gem "byebug"
在终端(项目目录的根目录)中运行:
$ bundle install
在你的代码顶部需要'byebug‘,并在你想设置断点的地方插入一个'debugger’:
require 'byebug'
def copy_db
debugger
puts 'hello world'
end
它将暂停rspec并进入byebug调试器,该调试器允许您在遍历每一行时显示各种变量的值。
[1, 4] in path/to/your/file.rb
1: def copy_db
2: debugger
=> 3: puts 'hello world'
4: end
(byebug)_
https://stackoverflow.com/questions/51984050
复制相似问题