如何使用"示例文件"在R中使用testthat?

时间:2017-11-07 01:17:31

标签: r testing read.table testthat write.table

我正在使用testthat创建R包。我正在使用的许多函数都需要一个文件作为输入和/或写一个文件来输出。

目前,我的R包目录结构大致如下:

- R_package_name
    -/tests
        -/testthat.R
        -/testthat
            -/test_package.R

例如,此类别中的功能为read.table()write.table()。前者读入一些文件,后者写入。

创建"示例文件"的标准是什么?给出R包结构的testthat测试?我可以在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

1 个答案:

答案 0 :(得分:1)

我的理解是标准是将数据作为.RData对象存储在给定包的\ _data文件夹中,如果你想测试读取数据,你必须基本上调用该数据集,写入文件,测试读入,然后清理。

但是,看起来可能存在存储原始数据文件的方法,请在处理raw data时查看此链接。这是创建R数据包的另一个有用链接。 creating an R data package