2013-05-15 133 views
1

由於這個SO問題here,我想在運行rspec或黃瓜時一步一步地執行ruby代碼。我不僅希望停止執行,而且還希望逐行執行代碼。在測試環境中調試Ruby/Rails

有沒有一種最佳實踐方法來進入RAILS_ENV ='test'時運行的代碼?目前有什麼辦法可以做到這一點?

回答

4

pry-debugger允許您通過行通過代碼行步:

  • step:單步執行到下一行或方法。採用可選的數字參數多次執行。
  • next:切換到同一幀內的下一行。也可以使用可選的數字參數來分隔多行。
  • finish:執行直到當前堆棧幀返回。
  • continue:繼續執行程序和終止會話撬
+0

謝謝安迪。我會嘗試這個。 –

+0

偉大的工作。謝謝。 –

3

我使用pry,它將在當前控制檯中打開一個解釋器,以便您可以用它們的當前值檢查這些變量。

只需要寶石,並把binding.pry在您的測試。自述文件是相當不言自明的,所以我會離開你吧:)

+0

我看着撬。看起來很棒。但是,我沒有看到它允許逐步執行代碼的地方。我期待調試我認爲可能是'require thisFile.rb'命令或其他一些非預期遞歸的循環鏈。 Pry在檢查狀態和更多內容方面看起來很棒,但是它會爲我提供一段執行路徑或一些IDE,比如'現在我在這行代碼中'。 –

+0

該死的,它看起來像我錯過了鏈接:(我實際上意味着撬調試器,並得到撬,而不是:(無論如何,我很高興你發現撬調試器有用,這是一個非常好的工具:) – mrcasals

+0

沒問題。我將在我未來的鐵軌工作中包括這兩個。非常方便。再次感謝。 –