打包中的Rcpp代码单元测试

Har*_*ld 5 unit-testing r rcpp

我在一个程序包中有一些C ++代码,我想对其进行单元测试,并且不想导出到R。我已经看到:

对R包的/ src文件夹中的代码进行单元测试?

我要测试的代码属于第二类:

或者,您认为您的C代码更独立,在这种情况下,您可以使用一种不计其数的C单元测试框架。

如果要从C ++进行测试(而不是使用R框架),那么设置测试套件的最佳方法是什么?您是否放入C ++测试tests/,然后在某个地方有一个main的C ++程序,还是编写驱动程序函数来执行所有C ++测试,然后从R中调用它?

我想也可以通过自动进行测试是一个好主意R CMD check,但我不清楚如何使用R包框架实现自动化。

Dir*_*tel 5

我不遵循:

  • 要么它 Rcpp代码,但您不想将其公开给 R:当您想要将其公开给您所做的 (R) 单元测试(在打包框架中)时。
  • 或者这只是选择(很多)C++ 单元测试框架之一的问题,例如Boost Test库,或Google C++ 测试库,或者...... --- 没有一个被移植到 R“本身” ”

你能再澄清一下你的问题吗?

也许您只是想以一种让Rcpp仅从单元测试调用它的方式表达您的 C++ 代码,以便您获得结果,然后可以通过流行的 R 单元测试框架之一进行测试。在这种情况下,答案可能与 CRAN 上(当前)276 个使用 Rcpp 的包中的任何一个所做的非常相似,因为许多包实际上都使用单元测试。