【问题标题】:How to work with "example files" using testthat in R?如何在 R 中使用 testthat 来处理“示例文件”?
【发布时间】:2017-11-08 00:08:18
【问题描述】:

我正在使用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

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-15
      • 2020-06-17
      • 2014-09-09
      • 2018-03-21
      • 2015-01-07
      • 2011-10-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多