r - 单元测试包中的 Rcpp 代码

标签 r unit-testing rcpp

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

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

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

Or you consider your C code to be more standalone, in which case you could use one of a bazillion unit testing frameworks for C.



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

我想通过 R CMD check 自动化测试可能是个好主意。同样,我不清楚如何使用 R 包框架实现自动化。

最佳答案

我不遵循:

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

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

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

    关于r - 单元测试包中的 Rcpp 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26322135/

    相关文章:

    r - 从 Rprof() 获取更多信息

    r - metaMDS 的绘图点

    c++ - 在 Rcpp 中为具有重复迭代的模型正确设置 GSL RNG 种子

    c++ - 读取构造函数的 R 列表会引发错误 : expecting a single value

    c++ - 分配矩阵列标准偏差的 vector 正在改变其值(RcppArmadillo)

    R 作为脚本运行时 validObject(.Object) 中的错误,但不在控制台中

    css - 我可以将正文与边注对齐吗?

    javascript - 如何使用 fetch 测试 api 调用

    angular - 如何在 Angular 应用程序中对 router.navigate 进行单元测试

    cocoa-touch - 如何使用 Cocoapods 设置 Kiwi?