相关疑难解决方法(0)

roxygen2如何不运行示例文件

我很清楚当代码直接在roxygen注释中时,如何使roxygen不运行示例。但是,某些示例可能有些冗长,或者您希望将示例编译在examples目录中。在这种情况下@example file_path工作正常,但我无法弄清楚如何使roxygen无法运行(即\dontrun)示例文件

承认这与问题非常相似,但注释显示该问题未得到回答。

测试

# this does not work
#' @title test_fun
#' @example \dontrun{examples/test_example.R}
test <- function(){
    print("hello")
}

# this does
#' @title test
#' @examples 
#' \dontrun{
#' test()
#' }
test <- function(){
    print("hello")
}
Run Code Online (Sandbox Code Playgroud)

test_example.R

test()
Run Code Online (Sandbox Code Playgroud)

如何获得前一种方法?

r roxygen2

5
推荐指数
1
解决办法
781
查看次数

CRAN 要求用 \donttest{} 替换 \dontrun{} 后 R 包中的问题

我向 CRAN 提交了一个包,他们要求我替换Rd 文件中的\dontrun{}by\donttest{}并重新提交。我\dontrun{}用来包装一些应该抛出错误消息的例子。

更换后\dontrun{}\donttest{}我进行了一些测试,并R CMD check仍然成功,但现在发生了这两个devtools::check()R CMD check --as-cran由于包裹在失败的例子\donttest{}

checking examples with --run-donttest ... ERROR
Run Code Online (Sandbox Code Playgroud)

经过一些浏览,我了解到 R 4.0.0 已更改R CMD check --as-cran为运行\donttest示例。根据R-devel的新闻

“R CMD check --as-cran 现在运行 \donttest 示例(由 example() 运行),而不是指示测试人员这样做。这可以在开发过程中通过将环境变量R_CHECK_DONTTEST_EXAMPLES设置为假值来暂时规避。”

由于我打算将包重新提交给 CRAN,因此设置_R_CHECK_DONTTEST_EXAMPLES_为local对false我没有帮助。

我还在一个问题中发现最近的讨论,devtools其中 Hadley Wickham 指出:

“一般来说,现在如果你不想在 CRAN 上运行测试 \dontrun{} 更有可能工作,但使用 \dontrun{} 可能会导致初始提交失败。”

所以现在我不知道如何继续,因为如果我重新提交包含所需更改的包,我已经知道它会在 …

r devtools cran

5
推荐指数
1
解决办法
511
查看次数

标签 统计

r ×2

cran ×1

devtools ×1

roxygen2 ×1