gpt4 book ai didi

r - 未找到 devtools::test 对象

转载 作者:行者123 更新时间:2023-12-01 04:50:53 27 4
gpt4 key购买 nike

我有一系列针对大对象进行测试的单元测试(下面 MWE 中的 y)。我已构建 ytestthat.R , 如果我运行 R CMD check 测试通过,但如果我运行 devtools::test() .

如何确保devtools::test()在正确的环境中运行测试?或者使对象可用于所有测试的规范方法是什么?

https://github.com/HughParsonage/testGlobalEnv

./tests/testthat.R

library(testthat)
library(testGlobalEnv)

y <- 1:5

test_check("testGlobalEnv")

./R/adder.R
#' Adds numbers
#' @param x A vector of numbers
#' @export

adder <- function(x){
sum(x)
}

./tests/test_adder.R
test_that("adder", {
expect_equal(adder(y), 15)
})
R CMD check显示测试通过;但是,正在运行 devtools::test() :
1
Failed -------------------------------------------------------------------------------------------------------------------
1. Error: adder (@test_adder.R#2) ----------------------------------------------------------------------------------------
object 'y' not found
1: expect_equal(adder(y), 15) at C:\Users\Hugh Parsonage\Documents\Github\testGlobalEnv/tests/testthat/test_adder.R:2
2: compare(object, expected, ...)
3: adder(y)

最佳答案

对于“使对象可用于所有测试的规范方法是什么”这一问题:只需将您的共享数据、计算、...放入 /test/testthat/helper-mytitle.R它将可用于所有测试。

关于r - 未找到 devtools::test 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41177211/

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