加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 如果rspec测试失败,请启动ruby调试器

发布时间:2020-12-16 20:22:33 所属栏目:百科 来源:网络整理
导读:通常,当测试失败时,我花费了很多时间来弄清楚导致失败的原因.如果RSpec可以在测试失败时启动一个Ruby调试器,那么可以立即检查本地变量来深入了解原因. 我正在使用的工作现在看起来像这样: # withing some testdebugger unless some_variable.nil?expect(som
通常,当测试失败时,我花费了很多时间来弄清楚导致失败的原因.如果RSpec可以在测试失败时启动一个Ruby调试器,那么可以立即检查本地变量来深入了解原因.

我正在使用的工作现在看起来像这样:

# withing some test
debugger unless some_variable.nil?
expect(some_variable).to be_nil

然而,这种方法是麻烦的,因为我先等待测试失败,然后添加调试器行,解决问题,然后必须删除调试器行,而我希望它的工作更像是gdb,它有能力踢当一个异常被击中,而不需要用调试器语句胡椒你的代码库.

编辑:我试过普利茅斯它对我来说还不够可靠.发展历史似乎也表明它不是很好的支持宝石,所以我宁愿不依赖它.

更新:我试过撬动抢救,发现它很整洁.但是,我使用了zeus [https://github.com/burke/zeus],并且想知道是否有办法使其与撬动协同工作

解决方法

使用 pry-rescue,这是普利茅斯的精神继承人:

从自述:

如果您使用RSPec或respec,则可以使用rescue rspec或rescue respec在每次测试失败时打开撬动会话:

$rescue rspec
From: /home/conrad/0/ruby/pry-rescue/examples/example_spec.rb @ line 9 :

     6:
     7: describe "Float" do
     8:   it "should be able to add" do
 =>  9:     (0.1 + 0.2).should == 0.3
    10:   end
    11: end

RSpec::Expectations::ExpectationNotMetError: expected: 0.3
     got: 0.30000000000000004 (using ==)
[1] pry(main)>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读