Ответ 1
Может быть, немного поздно, но я нашел решение. Test_that устанавливает каталог, содержащий тестовый файл, в качестве текущего рабочего каталога. См. Код ниже из test-files.r. Это приводит к тому, что рабочий каталог будет /tests. Поэтому ваши основные сценарии должны быть источником ( "../file.R" ), который работает для тестирования, но не для запуска вашего приложения.
https://github.com/hadley/testthat/blob/master/R/test-files.r
source_dir <- function(path, pattern = "\\.[rR]$", env = test_env(),
chdir = TRUE) {
files <- normalizePath(sort(dir(path, pattern, full.names = TRUE)))
if (chdir) {
old <- setwd(path)
on.exit(setwd(old))
}
Решение, которое я нашел, это добавить setwd ( ".." ) в свои тестовые файлы и просто указать имя файла без пути. source ( "file.R" ) вместо источника ( "../file.R" ). Кажется, работает для меня.