单元测试包中的Rcpp代码

时间:2014-10-12 05:18:32

标签: r unit-testing rcpp

我在一个包中有一些C ++代码,我想进行单元测试,我不想导出到R.我见过:

Unit tests for code in the /src folder of an R package?

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

  

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

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

我认为让R CMD check自动化测试可能是一个好主意,我不清楚如何自动使用R包框架。

1 个答案:

答案 0 :(得分:4)

我不遵循:

  • Rcpp代码,但不想将其公开给R :当你想要将它暴露给它时(R)单元测试(在包装框架中)你做的。
  • 或者只是挑选一个(很多)C ++单元测试框架之一的问题,比如Boost Test库,或Google C++ Testing library,或者...... ---都没有被移到R“就这样”

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

也许您只想表达您的C ++代码,让Rcpp仅从单元测试中调用 ,这样您就可以获得结果,然后通过流行的R之一进行测试单元测试框架。在这种情况下,答案可能非常类似于CRAN上(当前)276个使用Rcpp的软件包中的任何一个实际使用单元测试的