Модульные тесты для функций R, которые не экспортируются - PullRequest
0 голосов
/ 06 июня 2019

Я новичок в модульном тестировании, и я хотел бы реализовать несколько простых модульных тестов для функций пакета 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" ответа;))

...