这是上一个问题的后续内容。
How to integrate new R6Class functions stored in independent files into an existing R package?
总之,在尝试加载存储在文件中的函数时。我设法通过在描述中手动手动 NAMESPACE和Collate并重建包来实现。但是,我确信这不是标准做法,因为包已经有一个man文件夹和使用roxygen2创建的.Rd文件。但是,当我尝试使用roxygen2来管理描述中的NAMESPACE和Collate时,会弹出以下错误。
==> devtools::document(roclets=c('rd', 'collate', 'namespace'))
Updating mypackage documentation
Loading mypackage
Error in loadNamespace(name) : there is no package called ‘testthat’
Calls: suppressPackageStartupMessages ... tryCatch -> tryCatchList -> tryCatchOne -> <Anonymous>
Execution halted
Exited with status 1.
工作目录包含一个文件夹test,其中包含testhat.R文件和第二个充满函数的文件夹。
为什么roxygen2会降低产生文档并更新NAMESPACE和DESCRIPTION的任何提示?
答案 0 :(得分:2)
您需要安装testthat
包
testthat是一个包
单元测试系统设计有趣,灵活且易于设置。
Hadley的test书籍(在线)的R Packages部分是如何使用它的好指南。
事实上,我建议阅读整本书,因为它会向您介绍一些创建包的最佳实践。我已经使用了很多!