Как проверить код, который я добавил к клонированному репозиторию GitHub пакета R? - PullRequest
0 голосов
/ 20 мая 2019

У меня есть общий вопрос о передовых практиках написания и тестирования кода из репозитория Github (пакет, размещенный на CRAN), особенно для очень больших функций (более 300 строк), которые нельзя запускать независимо от других функций из того же пакет.

Пока что я:

  1. клонировал репо «пакета» от GitHub
  2. с помощью текстового редактора открыл файлы .R в клонированном репозитории пакетов (назовем это package-dev)
  3. добавил несколько строк кода в существующую функцию и сохранил .R в "package-dev"
  4. ...? (хочу проверить функцию, к которой я добавил код)
  5. Git добавить, зафиксировать, нажать.

Что касается шага 4. Я просто хочу протестировать функцию (буквально, вызвав ее) с моими вновь добавленными изменениями, даже до запуска каких-либо модульных тестов. Однако эта функция является частью огромной функции-оболочки и более крупного конвейера и требует специфичных для пакета входных данных. Поэтому я планирую загрузить этот пакет "package-dev" и выполнить функции в этом конвейере.

Это правильный способ тестирования кода, который вы вносите в этот пакет? загрузить локальную версию пакета "package-dev", в чей код вы внесли изменения, и запустить из нее функции?

Я попытался переустановить «package-dev» из другого пути к файлу с помощью devtools с целью тестирования функций, в которые теперь добавлены мои фрагменты кода, но, похоже, возникают проблемы, возможно, из-за того же имя (s).

devtools::install_local("path_to_package-dev")
library("package-dev")
 .onLoad failed in loadNamespace() for 'rJava', details:
  call: inDL(x, as.logical(local), as.logical(now), ...)
  error: unable to load shared object 'path-to-rJava':
  LoadLibrary failure:  %1 is not a valid Win32 application.

Что люди обычно делают для своего шага 4?

...