首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R with testthat:获取导出函数的列表

R with testthat:获取导出函数的列表
EN

Stack Overflow用户
提问于 2018-06-12 22:41:06
回答 1查看 703关注 0票数 2

我发布了一个文本文件,其中列出了所有导出的函数。为了确保列出了所有函数,我想通过testthat创建一个单元测试,并将所有导出的函数与文本文件中的函数进行比较。我当前的方法读取该文件,并将其与ls("package:myPackage")进行比较。但此调用返回所有导入包的所有函数的长列表。有什么办法解决这个问题吗?

一种完全不同的方法是自动生成此文件。但我认为第一种方法更容易实现。但愿能去。

EN

回答 1

Stack Overflow用户

发布于 2018-07-04 18:23:31

感谢@Emmanuel-Lin,这是我的解决方案:

代码语言:javascript
复制
require(data.table)
test_that("Function List", {
  # read namespace and extract exported functions
  funnamespace = data.table(read.table(system.file("NAMESPACE", package = "PackageName"), stringsAsFactors = FALSE))
  funnamespace[, c("status", "fun") := tstrsplit(V1, "\\(")]
  funnamespace[, fun := tstrsplit(fun, "\\)")]
  # read function list
  funlist = read.csv2(system.file("subdirectory", "functionList.txt", package = "PackageName"), stringsAsFactors = FALSE)
  # test
  expect_equal(funnamespace[status == "export", fun], funlist[, 1])
})

显然,我懒得找出正确的正则表达式来用一行替换两个tstrsplit

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50819894

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档