运行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