从R包导出环境

Sim*_*Sim 6 r devtools mongodb proto testthat

我正在开发一个包装包的R包,rmongodb并创建一个开发人员友好的界面来处理MongoDB.该包在proto内部使用.

我想通过一个名为proto的对象(环境)导出一个工厂方法MongoDB,其定义是:

MongoDB <- proto(
  new = function(., ...) {
    # Good stuff in here...
  }
)
Run Code Online (Sandbox Code Playgroud)

在使用RStudio开发devtools期间以及在本地测试期间,这似乎不是问题.但是,我遇到了几个问题:

  • devtools::check()坚持import(MongoDB)在我的NAMESPACE文件中输入R CMD check"不需要命名空间依赖:'MongoDB'"的失败.

  • 当我删除这个import指令R CMD checktestthat,即使我手动添加,在运行我的测试时仍未找到"找不到对象'MongoDB' export(MongoDB).但是,devtools::test()在RStudio中工作正常.

proto从R包导出对象(环境)的推荐方法是什么?

更新:

根据下面的Gabor建议,我确保MongoDB.Rd声明MongoDB为数据(链接有源).我仍然MongoDB在测试中看不到(使用中testthat).我的DESCRIPTION文件在这里,NAMESPACE在这里.

G. *_*eck 3

尝试这个:

  1. export("MongoDB")在文件中指定NAMESPACE以使MongoDB原型对象公开可用。
  2. LazyData: yes在文件中指定DESCRIPTION,以便在访问时自动加载。
  3. 添加一个.Rd文件,将其记录为数据集。

然后它应该会过去R CMD check