氧气2:"Error in loadNamespace(name) : there is no package called ‘testthat’"?

Roxygen2: "Error in loadNamespace(name) : there is no package called ‘testthat’"?

这是对上一个问题的跟进。

How to integrate new R6Class functions stored in independent files into an existing R package?

总而言之,在尝试加载存储在文件中的函数时。我设法通过 手动 描述中的 NAMESPACE 和 Collat​​e 并重建包来做到这一点。但是,我确信这不是标准做法,因为该包已经有一个 man 文件夹和使用 roxygen2 创建的 .Rd 文件。但是,当我尝试使用 roxygen2 管理我的 NAMESPACE 并在 DESCRIPTION 中整理时,弹出以下错误。

==> 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.

工作目录包含一个包含 testhat.R 文件的文件夹 tests 和一个包含所有函数的第二个文件夹。

关于为什么 roxygen2 无法生成文档并更新 NAMESPACE 和 DESCRIPTION 的任何提示?

您需要安装 testthat 软件包


testthat 是一个包

A unit testing system designed to be fun, flexible and easy to set up.

test section of Hadley's R Packages 书(在线)是关于如何使用它的很好的指南。

事实上,我建议您通读整本书,因为它将向您介绍一些创建包的最佳实践。我用了 很多!