如何测试我添加到R包的克隆GitHub存储库中的代码?

时间:2019-05-20 15:13:39

标签: r git package devtools

我对来自Github存储库(托管在CRAN上的程序包)的代码编写和测试的最佳做法有一个一般性的问题,特别是对于非常大的功能(超过300行),这些功能不能独立于同一功能运行包。

到目前为止,我:

  1. 从GitHub克隆了“程序包”的仓库
  2. 使用文本编辑器在克隆的软件包存储库中打开.R文件(我们称其为“ package-dev”)
  3. 在现有函数中添加了几行代码,并将.R保存在“ package-dev”中
  4. ...? (想测试我添加了代码的功能)
  5. 添加,提交,推送。

关于第4步,我只是想用新添加的更改来测试功能(实际上是通过调用它),甚至在运行任何单元测试之前。但是,此函数是庞大的包装器函数和较大的管道​​的一部分,并且需要特定于程序包的输入。因此,我的计划是加载此程序包“ package-dev”并通过此管道中的功能运行。

这是测试所贡献代码的正确方法吗?也就是说,加载您更改了代码的包的本地版本“ package-dev”,并从中运行功能?

我尝试使用devtools从不同的文件路径重新安装“ package-dev”,目的是测试功能,这些功能现在已经添加了我的代码片段,但是似乎有问题,可能是因为相同的原因名称。

devtools::install_local("path_to_package-dev")
library("package-dev")
 .onLoad failed in loadNamespace() for 'rJava', details:
  call: inDL(x, as.logical(local), as.logical(now), ...)
  error: unable to load shared object 'path-to-rJava':
  LoadLibrary failure:  %1 is not a valid Win32 application.

人们通常会为第4步做什么?

0 个答案:

没有答案