Этот вопрос практически повторяет Q32328802 - testdata for testthat . Разница в том, что я ищу более конкретный ответ c, относящийся к devtools::check
. В частности, как мне получить devtools::check()
для распознавания и загрузки моих тестовых данных?
Структура моего пакета для tests/testthat.R
и tests/testthat/setup-testdata.R
описана ниже (а ссылка на github находится в внизу поста). Я пробовал следующее:
- Следуя связанному выше вопросу, я поместил тестовые данные в
inst/testdata
. Поскольку это не работает, я также пробовал другие места (например, tests/
, tests/testthat
). Ни одно из этих мест не работает. - Я также пробовал переименовать
helper-testdata.R
как setup-testdata.R
и получил те же неудачные результаты. devtools::check()
, похоже, не точно распознает load(system.file(...))
команда. Он также не распознает, если я пишу имя файла (ie. Не используйте system.file()
). Отсутствие команды загрузки также не работает.
tests/
:
testthat.R
library(synthACS)
library(testthat)
test_check("synthACS")
testthat/setup-testdata.R
содержит одну строку:
load(system.file("testdata", 'dat-acsdata.Rda', package= "synthACS"))
# run interactively, this line of code loads the data accurately.
# within devtools::check() it appears to return an empty string ("") for
# file location
Проверка моего пакета
R> devtools::test(synthACS)
══ Results ═════════════════════════
OK: 388
Failed: 0
Warnings: 0
Skipped: 0
R> devtools::check(synthACS)
...
─ checking tests ...
E Running ‘testthat.R’ (1.5s)
── Test failures ─────────────────────
> library(testthat)
>
> load(system.file("testdata", 'acsdata.rda', package= "synthACS"))
> test_check("synthACS")
----------- FAILURE REPORT --------------
... indicates that the data is not loaded ...
Любая помощь приветствуется!
Редактировать ссылки на полный код: