R Ошибка расположения исходного файла при использовании testthat - PullRequest
0 голосов
/ 03 октября 2018

Я пытаюсь настроить тестовый фреймворк модульного тестирования и у меня возникают проблемы с правильным расположением исходного файла.

Моя структура папок пакета выглядит следующим образом:

.\R\abc.R
.\R\def.R
.\tests\testthat\test_01.R

Вмой файл теста test_01.R, мне нужно импортировать abc.R.Мне удалось заставить это работать, указав относительный путь, как показано ниже:

'../../R/abc.R'

Теперь файл abc.R можно успешно получить из моих тестовых случаев.Тем не менее, это не удалось на этапе, когда abc.R пытается найти def.R.Я думаю, что это потому, что рабочий каталог установлен на ./tests/testthat по testthat.

Исправление, которое я могу придумать, заключается в добавлении относительного пути '../../R/' к def.R, но это выглядит для меня как ужасное решение, так как оно сломается, когда я запускаю abc.R напрямую.А также в моем пакете намного больше файлов, таких как abc.R и def.R.

Есть ли более изящный способ справиться с этим?

Извините, если это простой вопрос, так как я все еще новичок в R.

1 Ответ

0 голосов
/ 03 октября 2018

Внутри ./tests/ должен быть файл с именем testthat.R

В этом файле вы можете добавить 3 строки:

library(testthat)
library(yourLibraryName)

test_check("yourLibraryName")

Конечно заменить"yourLibraryName" с именем вашего пакета.

Тогда все функции, экспортируемые вашим пакетом, будут загружены и тесты смогут использовать их.

...