Р: Какой рабочий каталог при выполнении 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(...)
однако мне это не нравится, потому что я хочу опубликовать пакет, и поэтому пользователь может разместить пакет в разных местах.
Какое лучшее решение здесь?