通常,当测试失败时,我会花很长时间试图找出导致它失败的原因。如果 RSpec 可以在测试失败时启动 Ruby 调试器会很有用,这样我就可以立即检查局部变量以深入了解原因。
我现在使用的解决方法如下所示:
# withing some test
debugger unless some_variable.nil?
expect(some_variable).to be_nil
但是,这种方法很麻烦,因为我首先等待测试失败,然后添加调试器行,修复问题,然后必须删除调试器行,而我希望它更像gdb
能够在何时启动一个异常被击中,而不需要在你的代码库中添加debugger
语句。
编辑:我试过普利茅斯。它对我来说还不够可靠。此外,开发历史似乎表明它不是一个得到很好支持的 gem,所以我宁愿不依赖它。
更新:我试过了pry-rescue
,发现它很整洁。但是,我经常使用zeus,想知道是否有办法让它与pry-rescue
.