r - 我的包无法识别 R 中导入包的导出函数
问题描述
我正在写一个 R 包。使用 roxygen2,我有这个处理器语句:
##' @import Other_Package
据我了解,此语句将从 Other_Package 导入每个导出的函数。但是当我跑的时候:
devtools::test()
一些测试用例失败,因为它无法找到Other_Package 的某些功能。
解决方案
确保包含Other_Package
在您的说明文件中。你可以很容易地做到这一点:
usethis::use_package("Other_Package")
此外,请确保在测试之前重新渲染文档。这将包括重新创建您的 NAMESPACE 文件。roxygen2
很棒,将为您处理这部分:
devtools::document()
要确认,请转到您的 NAMESPACE 文件并确保import(Other_Package)
在那里找到。使用时roxygen2
,请勿手动编辑 NAMESPACE 文件。
现在,您的测试应该可以正常运行:
devtools::test()
替代解决方案
我建议您在包内进行显式调用,而不是依赖您的 NAMESPACE。所以 from 的任何函数Other_Package
都会有Other_Package::
前缀(例如function1()
会是Other_Package::function1()
)。在整个程序包中执行此操作,包括任何测试。
推荐阅读
- java - 装饰器设计模式java覆盖方法问题
- powershell - 返回属性的全部值
- typescript - 打字稿:在类型上动态构造属性名称
- html - 如何使用表单选择值来操作方法(无查询)
- sql - 查找在 SQL Server 2014 中拥有多个帐户的客户的真正开始结束日期
- python - 可以在不基于文本输入的字段上测试 assertFieldOutput 吗?
- arcore - hit.getDistance() 没有给出适当的距离
- java - Spring Boot Cloud:没有可用于 api.github.com 的实例
- sql - 在 SQL 中使用 SPLIT 公式时如何自动填充 NULL 值?
- animation - d3js条形图比赛...重新开始动画