gpt4 book ai didi

r - 在R中测试:在测试文件中采购

转载 作者:行者123 更新时间:2023-12-03 14:17:46 24 4
gpt4 key购买 nike

我在R中使用testthat包,并且正在尝试测试功能
在文件example.R中定义。该文件包含调用source("../utilities/utilities.R"),其中utilities.R是具有我编写的功能的文件。但是,当我尝试从example.R测试功能时,在测试脚本中进行采购会产生以下错误:

Error in file(filename, "r", encoding = encoding) : 
cannot open the connection
In addition: Warning message:
In file(filename, "r", encoding = encoding) :
cannot open file '../utilities/utilities.R': No such file or directory


您能否阐明如何对源另一个文件的文件中的功能运行测试?

最佳答案

可能会晚一点,但我找到了解决方案。 Test_那将保存测试文件的目录设置为当前工作目录。请参阅以下来自test-files.r的代码。这将使工作目录为/ tests。因此,您的主脚本需要源代码(“ ../file.R”),该源代码可以用于测试,但不能用于运行应用程序。

https://github.com/hadley/testthat/blob/master/R/test-files.r

source_dir <- function(path, pattern = "\\.[rR]$", env = test_env(),
chdir = TRUE) {
files <- normalizePath(sort(dir(path, pattern, full.names = TRUE)))
if (chdir) {
old <- setwd(path)
on.exit(setwd(old))
}


我发现的解决方案是在测试文件中添加setwd(“ ..”)并仅提供不带路径的文件名。 source(“ file.R”)代替source(“ ../ file.R”)。似乎为我工作。

关于r - 在R中测试:在测试文件中采购,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24823353/

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