SuperAPI AI 工具集

r-package-check

测试与质量

查看项目

更新于 10-16 07:57

技能介绍

用途:作为 R 包的发布门禁,按“生成文档 → 测试 → 检查 → 分类处理 → 源码审查”的顺序判断包是否可发布。输入为包含 DESCRIPTION 的包根目录,留空则自动向上或在工作目录内查找 DESCRIPTION。

主要能力:

  • 预检:读取包名、版本、导出函数、依赖,并探测 devtools、roxygen2、testthat、R CMD、covr 是否可用;缺少 devtools 或 R CMD 时停止并提示安装。
  • 文档:用 devtools::document() 重新生成 man/ 与 NAMESPACE,并用 git status 检测生成文件是否与 roxygen 注释不同步。
  • 测试:运行 devtools::test(),报告失败项;若 covr 可用,报告导出函数覆盖率并标出 0% 覆盖的导出函数。
  • 检查:运行 devtools::check(args = "--as-cran"),或 R CMD build 后 R CMD check --as-cran,并把每条结果分为 ERROR/WARNING/NOTE 并给出修复或说明建议。
  • 源码审查:调用只读的 r-package-reviewer 代理,报告保存到 quality_reports/ 下。
  • 发布门禁:汇总错误、警告、注释、测试、覆盖率与审查结果,给出 RELEASABLE / FIX-FIRST / POLICY-VIOLATION 结论,并附 CRAN 提交清单。

使用方式:以包根目录作为参数调用;长耗时的 --as-cran 检查建议用 Monitor 工具后台运行并过滤 ERROR/WARNING/NOTE/Status 等关键行,或使用 Bash run_in_background 后读取日志。

限制:不修改版本号、不提交 CRAN;man/ 与 NAMESPACE 视为生成文件,不可手改;门禁标准为 0 错误、0 警告、每条注释均有说明;跨平台检查(win-devel、R-hub)与 devtools::release() 由维护者自行执行。资料未提供具体收费、平台支持范围等信息。