当规范失败时,我们正在尝试在 rspec 中使用 pry-rescue 来获取调试器。
现在,当这种期望失败时:
expect(page).to have_content('Thanks for signing up!')
pry 确实打开了,但 pry 所在的代码点如下所示:
From: /Users/aljoscha/.rvm/gems/ruby-2.2.2/gems/pry-rescue-1.4.4/lib/pry-rescue.rb @ line 206 PryRescue.with_program_name:
201: def with_program_name name
202: before = $PROGRAM_NAME
203: $PROGRAM_NAME = name
204: yield
205: ensure
=> 206: $PROGRAM_NAME = before
207: end
这显然不是失败规范的代码。从这里开始,我们只能“向上”。
我们希望以失败的规范结束(如这里指出的:Start ruby debugger if rspec test failed)。
为什么会发生上述情况,而不是我们做错了什么?
我们正在使用 rspec 3.4.0、pry 0.10.3 和 pry-rescue 1.4.4。