如何在 R 中使用 testthat 来处理 "example files"?
How to work with "example files" using testthat in R?
我正在使用 testthat
创建 R 包。我正在使用的许多函数都需要一个文件作为输入 and/or 写入一个文件以输出。
目前,我的 R 包目录结构大致如下:
- R_package_name
-/tests
-/testthat.R
-/testthat
-/test_package.R
例如,此类别中的函数为 read.table()
和 write.table()
。前者读取某个文件,后者写入文件。
在给定 R 包结构的情况下,为 testthat
测试创建 "example files" 的标准是什么?我可以创建非常小的示例文件作为 tests
中的输入
假设我正在为 write.table()
:
做测试
test_that("check write.table", {
df = data.frame( n = c(2, 3, 5), s = c("aa", "bb", "cc"), b = c(TRUE, FALSE, TRUE))
expect_identical(write.table(df), ???)
})
编辑:显然模拟在 R 中是可能的:
https://rdrr.io/a/cran/testthat/man/with_mock.html
我的理解是,标准是将包中的数据作为给定包的 \data 文件夹中的 .RData
对象存储,如果你想测试读取该数据,你有从本质上调用该数据集,写入一个文件,测试读取它,然后清理。
但是,看起来可能有一种方法可以存储原始数据文件,请查看此 link 处理 raw data. Here is another useful link on creating an R data package. creating an R data package
我正在使用 testthat
创建 R 包。我正在使用的许多函数都需要一个文件作为输入 and/or 写入一个文件以输出。
目前,我的 R 包目录结构大致如下:
- R_package_name
-/tests
-/testthat.R
-/testthat
-/test_package.R
例如,此类别中的函数为 read.table()
和 write.table()
。前者读取某个文件,后者写入文件。
在给定 R 包结构的情况下,为 testthat
测试创建 "example files" 的标准是什么?我可以创建非常小的示例文件作为 tests
假设我正在为 write.table()
:
test_that("check write.table", {
df = data.frame( n = c(2, 3, 5), s = c("aa", "bb", "cc"), b = c(TRUE, FALSE, TRUE))
expect_identical(write.table(df), ???)
})
编辑:显然模拟在 R 中是可能的: https://rdrr.io/a/cran/testthat/man/with_mock.html
我的理解是,标准是将包中的数据作为给定包的 \data 文件夹中的 .RData
对象存储,如果你想测试读取该数据,你有从本质上调用该数据集,写入一个文件,测试读取它,然后清理。
但是,看起来可能有一种方法可以存储原始数据文件,请查看此 link 处理 raw data. Here is another useful link on creating an R data package. creating an R data package