gpt4 book ai didi

r - 如何在单元测试中重用示例?

转载 作者:行者123 更新时间:2023-12-01 07:58:47 24 4
gpt4 key购买 nike

假设我有一个函数,用示例记录(使用 roxygen):

#' @title Add two numbers
#' @param x a scalar
#' @param y a scalar
#' @examples
#' testobj <- add(x + y)

add <- function(x, y) {
return(x+y)
}

现在我想对生成的对象运行一些测试,以确保函数按预期运行。我将为此使用 testthat:

context("Adding stuff")

testobj <- add(x, y) # THIS is the duplicate line that bothers me.

test_that(desc = "Additions work", code = {
testthat::expect_length(object = x, n = 1)
})

如何重用示例中创建的 testobj,然后在 testthat 中对其运行一些测试?

在这种情况下它是微不足道的,但如果函数更复杂,它会导致大量重复。

还是我用错了?

最佳答案

您可以使用从 utils 导出的 example 函数来运行函数文档中包含的示例。

testobj <- example(add)
# add> testobj <- add(x, y)

请注意,建议在您的 roxygen 评论中使用具体示例:

代替

#' @examples 
#' testobj <- add(x, y)

使用

#' @examples 
#' testobj <- add(2, 3)

关于r - 如何在单元测试中重用示例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45960395/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com