gpt4 book ai didi

R - testthat 使用测试目录外的数据文件

转载 作者:行者123 更新时间:2023-11-28 19:42:54 26 4
gpt4 key购买 nike

我正在使用 testthat 来测试具有类似于以下文件树的包:

   .
├── data
│   └── testhaplom.out
├── inst
│   └── test
│   ├── test1.r
│   ├── tmp_S7byVksGRI6Q
│   │   └── testm.desc
│   └── tmp_vBcIkMN1arbn
│   ├──testm.bin
│   └── testm.desc
├── R
│   ├── haplom.r
│   └── winIdx.r
└── tmp_eUG3Qb0PKuiN
└── testhaplom.hap2.desc

test1.r文件中,我需要使用data/testhaplom.out文件作为某个函数的输入数据,但是如果我这样做 test_file(test1.r),进入inst/test目录,看不到数据文件,报错如下:

...Error in file(file, "rt") : cannot open the connection
In addition: Warning message:
In file(file, "rt") :
cannot open file 'data/testhaplom.out': No such file or directory

最佳答案

您的问题有两种解决方案:

您可以使用相对路径 (../data/testhaplom.out):

expect_true(file.exists(file.path("..", "data", "testhaplom.out")))

或者您可以使用 system.file 获取数据目录的位置:

expect_true(file.exists(file.path(system.file("data", package="YOUR_R_PACKAGE"), "testhaplom.out")))

我更喜欢第二种解决方案。

顺便说一句:file.path 在每个平台上使用正确的路径分隔符。

关于R - testthat 使用测试目录外的数据文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19033987/

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