Я новичок в модульном тестировании, и я хотел бы реализовать несколько простых модульных тестов для функций пакета R.Проблема состоит в том, что большинство функций этого пакета R в настоящее время не экспортируются, поэтому большинство модульных тестов будут касаться функций R, которые не упомянуты в файле NAMESPACE
.Это касается следующего пакета R: https://gitlab.com/f.santos/anthropmmd/tree/devel
Я использую testthat
, и когда я пытаюсь проверить функцию R, которая не экспортируется (например, самая простая функция в пакете, * 1008)*), Я получаю следующее сообщение об ошибке:
> setwd('............./AnthropMMD/')
> library(devtools)
> devtools::load_all()
Loading AnthropMMD
Registered S3 methods overwritten by 'ggplot2':
method from
[.quosures rlang
c.quosures rlang
print.quosures rlang
Registered S3 methods overwritten by 'car':
method from
influence.merMod lme4
cooks.distance.influence.merMod lme4
dfbeta.influence.merMod lme4
dfbetas.influence.merMod lme4
Attaching package: ‘testthat’
The following objects are masked from ‘package:devtools’:
setup, test_file
> test()
Loading AnthropMMD
Testing AnthropMMD
✔ | OK F W S | Context
✖ | 0 1 | max3
────────────────────────────────────────────────────────────────────────────────
test-max3.R:5: error: max3 gives correct answer
could not find function max3
Я обнаружил в этой теме , что использование devtools::load_all()
перед запуском тестов должно решить проблему, но это не помоглоя, и я полагаю, что я должен был что-то упустить.
Какая правильная и полная настройка необходима для проверки неэкспортированных функций в пакете R?
Спасибо!
(Примечание: поскольку я не являюсь пользователем Rstudio, пожалуйста, не делайте мне никакого "специфичного для Rstudio" ответа;))