[英]Creating short examples for CRAN package
我正在构建一个我希望上传到CRAN的软件包。 我在帮助文档中包含的示例目前需要一些时间来检查(总共约12分钟),并且我知道在尝试加载CRAN时这可能是一个问题。 虽然我可以让我的示例运行得更快,但我担心这会使用户对阅读帮助文件的意义降低。 有没有办法包含一些快速(但不太有意义)的示例,这些示例将由CRAN检查但在帮助文档中对用户不可见?
我正在使用devtools和roxygen2来编写我的文档,所以如果可能的话,使用这些工具获得答案会很棒。
谢谢你的帮助。
听起来你想做一些单元测试,这在使用更复杂的软件包时是一个非常好的主意。 查看testthat
包( 文章 , 来源 )。
确保正确操作包但与最终用户无关的简短纯技术示例将进入单独的文件夹myPackage/tests
。 这些将在每次构建程序包时自动运行,但不会包含在文档文件中。
建议的解决方案是创建一个名为myPackage/tests/run-all.R
:
library(testthat)
library(myPackage)
test_package("myPackage")
然后将所有测试代码放在myPackage/tests/testthat
,例如myPackage/tests/testthat/foo.R
:
context("Basic operation")
test_that("Default execution", {
a <- 4
b <- 34
expect_equal(myFunction(a, b), a + b)
})
将测试放在myPackage/tests/testthat
而不是直接放在myPackage/tests
是myPackage/tests/testthat
将包含在最终包中(尽管在不同的文件夹中),允许用户也运行测试。 myPackage/tests
不会被复制到最终包中。
请参阅手册 ,第2.1.1节, example
小节。 您可以将更重的示例包含在\\dontrun
并且不会检查它们。
如果唯一的问题是CRAN加载,则应使用\\donttest{}
命令阻止在CRAN上运行示例。 请注意,当用户键入example(xx)
时,示例仍将运行
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.