運行testthat
測試時可以在RStudio中調用調試器嗎?我一直無法找到允許此設置的設置(在設置中使用「使用devtools
包裝功能的各種組合」,點擊「生成 - >更多」菜單中的「測試包」選項,運行test()
控制檯,撥打電話browser()
等),但尚未找到方法。在RStudio中調試'testthat'測試
我也發現自己迷路了很多測試時,無法確定正在運行已安裝在系統庫中的代碼是否(做「構建&刷新」),或從本地R
是在原地運行目錄,或者什麼 - 有時RStudio抱怨斷點不能設置,直到包重建(所以我懷疑前者)或不(因此我懷疑後者)。不確定這個問題是否與我的主要問題密切相關。
沒有找到一種方法放入調試器,我最終將測試代碼粘貼到以非常特殊的方式工作的控制檯&中,並基本上在腳中拍攝我的TDD習慣。因此,任何建議將不勝感激 - 如果無法調用調試器,任何建議的解決方法?
我在OS X上以本地模式運行RStudio版本0.99.447,其中R 3.2.1。
編輯 - 我也想知道更多背景的選項,例如「選項X永遠不會支持調試,因爲它在分支進程中運行,所以請嘗試使用其他選項Y.」
更新 - 在這裏沒有迴應,我也問了https://support.rstudio.com/hc/communities/public/questions/204779797-Debugging-testthat-tests-in-RStudio(我也沒有任何迴應)。
「Clean and rebuild」是否指「Build&Reload」?我真的很討厭這個問題,就是我經常不小心在機器上全局安裝我的開發版本。 'dev_mode'是一個解決方案,但有時候我忘了關掉它,因爲它是一個手動過程... –
我很猶豫使用'browser()'方法 - 最近有人在我的團隊中(不是我,謝天謝地!)在他們的代碼中留下了一堆'browser()'語句,這些語句進入了生產環境,這很糟糕。不得不改變代碼來審查它,這是一件令人失望的事情。雖然在這種情況下在測試文件中做得不是很差 - 由於某些原因,當使用devtools :: test()時,斷點在測試文件中不起作用,但它們在代碼文件'R /'目錄。 –
不,還有一個單獨的「清理和重建」命令,據我所知它與「構建和重裝」相同,但執行一些初始清理以進入更可預測的狀態。 – alev