Как работать с "файлами примеров", используя testthat в R?

Я создаю пакет R, используя testthat, Многие из функций, с которыми я работаю, требуют ввода файла и / или записи файла для вывода.

В настоящее время моя структура каталогов пакета R выглядит примерно так:

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

Например, функции в этой категории будут read.table() а также write.table(), Первый читает в каком-то файле, второй пишет.

Что является стандартом для создания "файлов примеров" для тестов с testthat учитывая структуру пакета R? Я мог бы создать очень маленькие примеры файлов в качестве входных данных в 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 ответ

Решение

Насколько я понимаю, стандартом было хранить данные в пакете как .RData объект в папке \data данного пакета, и что если вы хотите проверить чтение этих данных, вам необходимо по существу вызвать этот набор данных, записать файл, проверить его чтение, а затем очистить.

Тем не менее, похоже, что может быть способ хранения файлов необработанных данных, ознакомьтесь с этой ссылкой для обработки необработанных данных. Вот еще одна полезная ссылка на создание пакета данных R. создание пакета данных R

Другие вопросы по тегам