2014-10-12 93 views
3

我在一个包中的一些C++代码,我想单元测试,我不希望导出到R.我看到:单元测试代码RCPP在包

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

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

或者你认为你的C代码更加独立,在这种情况下,你可以使用一个bazillion单元测试框架之一C.

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

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

+0

我建议你把你的问题缩小到编程范围之内。还要注意,这些问题很有可能被关闭为“寻找工具”或“基于意见”。 – 2014-10-12 08:51:01

+1

如果您想通过'R CMD check'运行测试,您可以考虑添加一个'configure'或'cleanup'脚本来调用运行这些测试文件的其他脚本。有关更多详细信息,请参阅http://cran.r-project.org/doc/manuals/r-release/R-exts.html#Configure-and-cleanup。 – 2014-10-12 20:41:45

+0

@KevinUshey,谢谢!这一定会奏效!我希望已经有一些规范的方法可以在不编写其他脚本的情况下做到这一点,但似乎并非如此。 – Harold 2014-10-12 21:35:32

回答

3

我不明白:

  • 它要么Rcpp代码,但你不想将其暴露于R:您湾的时刻把它暴露在(R)单元测试(在包装框架中)你做。
  • 或者这只是一个挑选(很多)C++单元测试框架(如Boost Test库,或Google C++ Testing library或... --- ---其中没有一个已经移植到R“这样的”

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

也许你只是想表达一下你的C++代码的方式,让Rcpp仅从单元称之为测试让你得到结果,你可以再测试通过的流行[R单元测试框架之一。在这种情况下,答案可能非常类似于CRAN中的任何一个(当前)276 Rcpp使用包,而实际上使用单元测试的

+0

谢谢你的回应,Dirk。我更新了我的问题 - 请让我知道如果它仍然不清楚。 – Harold 2014-10-12 16:30:29

+0

Rcpp有一个非常明确的范围。这里你想要的东西似乎超出了这个范围,至少在我的理解中。 Rcpp依然可以帮助你,但是你本质上有一个完全不同的问题(“我如何运送和测试一个C++库”),这事先与R没有任何关系。 – 2014-10-12 18:47:34