【发布时间】:2014-10-13 00:30:01
【问题描述】:
我在一个包中有一些 C++ 代码,我想对其进行单元测试,但我不想导出到 R。我见过:
Unit tests for code in the /src folder of an R package?
而我要测试的代码属于第二类:
或者您认为您的 C 代码更加独立,在这种情况下,您可以为 C 使用大量单元测试框架之一。
如果想从 C++ 进行测试(而不是使用 R 框架),那么设置测试套件的最佳方法是什么?你是把你的 C++ 测试放在 tests/ 中,然后在某个地方有一个带有 main 的 C++ 程序,还是你编写一个驱动程序函数来执行所有 C++ 测试,然后从 R 中调用它?
我想通过R CMD check 自动化测试可能是个好主意,但我不清楚如何使用 R 包框架自动化。
【问题讨论】:
-
我建议您将问题缩小到编程问题。另请注意,这类问题很有可能会因为“寻找工具”或“基于意见”而被关闭。
-
如果您希望测试由
R CMD check运行,您可以考虑添加一个configure或cleanup脚本来调用其他运行这些测试文件的脚本。有关详细信息,请参阅cran.r-project.org/doc/manuals/r-release/…。 -
@KevinUshey,谢谢!这肯定会奏效!我希望已经有一些规范的方法可以做到这一点而无需编写额外的脚本,但似乎不是这样。
-
我同意——但不幸的是,
R CMD check的内置工具仅适用于R代码的单元测试。不过,我认为使用configure/cleanup脚本仍然是最好的方法。 (或者如果你真的喜欢冒险的话,可以使用自定义的 makefile...)
标签: r unit-testing rcpp