Р: Какой рабочий каталог при выполнении covr?

Я работаю над проектом, где я загружаю файл json. По умолчанию я запускаю проект в корне проекта, однако при тестировании путь меняется. Поэтому я включил следующее утверждение:

      if (grepl("testthat", getwd())) {
    template <- jsonlite::read_json("../../templates/initial_status.json")
  }else{
    template <- jsonlite::read_json("./templates/initial_status.json")
  }

Однако это работает при использовании covr::gitlab()файл не может быть открыт. Я предполагаю, что рабочий каталог изменился, и поэтому файл не найден:

      Error in `open.connection(con, "rb")`: kann Verbindung nicht öffnen
Backtrace:
    x
 1. \-MyPackage::api_create(...) at test-API.R:40:2
 2.   \-MyPackage:::get_initial_status(initial_status)
 3.     \-jsonlite::read_json("../../templates/initial_status.json")

Конечно, обходной путь заключается в использовании setwd(...)однако мне это не нравится, потому что я хочу опубликовать пакет, и поэтому пользователь может разместить пакет в разных местах.

Какое лучшее решение здесь?

0 ответов

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