Ken*_*ams 14 testing debugging r rstudio testthat
在运行testthat测试时是否可以在RStudio中调用调试器?我无法找到允许此设置的设置(在设置中使用"使用devtools包功能"的各种组合,点击"Build - > More"菜单中的"Test Package"选项,test()在控制台中运行,投入browser()电话等),但还没有找到一种方法呢.
我还发现自己迷路了很多测试时,不确定是否正在运行已安装在系统库中的代码(做"构建和重新载入"),或正在运行就地从本地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(我也没有响应).
ale*_*lev 17
以下适用于我:
browser()在单元测试的测试中的某个地方插入一个调用.devtools::test()从RStudio控制台运行(而不是使用UI中的"测试包"菜单项)然后,当测试运行器点击browser()调用时,您应该能够使用环境浏览器并逐步执行代码.
我还没有找到一种方法来测试在断点处停止,但插入browser()调用是一个非常接近的替代品.
为了确保您在加载软件包时从一致的状态开始,您可以关闭RStudio,重新打开它,运行"清理并重建",然后 devtools::test()
最后,如果您在RStudio包中工作,您可能需要查看来自RStudio支持的以下建议:
为了在包中有效地进行调试,您还需要确保使用--with-keep.source选项编译包.此选项是RStudio中新包的默认选项; 如果需要手动设置,可以在工具 - >项目选项 - >构建工具中找到它.
| 归档时间: |
|
| 查看次数: |
1822 次 |
| 最近记录: |