📝

rspecでのループ中で止まるbinding.pryを強制終了させるコマンド

2021/01/04に公開

RSpecの実行中に、ループの中にbinding.pryなどを差し込んでしまい、無限に next を入力し続けないとテストが終わらない...というケースに遭遇することがある。

  def hoge_all_check
    Item.all.find_each do |item|
      binding.pry # itemの個数分だけブレークポイントで止まってしまう
      item.update!(hoge: "fuga")
    end
  end

!!!かexit-programでpryを強制終了できる

Exit the program completely
The exit-program command ends the current program, including the program that invoked the Pry session. This command is equivalent to running the Ruby exit method which raises the SystemExit exception; however history is saved before exit.

Aliases: !!!
Exit the program completely

(引用: https://github.com/pry/pry/wiki/State-navigation#exit-the-program-completely)

pryコンソールに exit-program と入力するか、あるいは !!! を入力してpryを強制終了させることができる。

Discussion