Ошибка в x [[method]] (...): попытка применить нефункциональный тест в тесте при проверке файла источника - PullRequest
0 голосов
/ 29 апреля 2018

Я занимаюсь разработкой приложения R и нашел обходной путь для интеграции в него testthat (для этого обычно требуется, чтобы ваш проект был пакетом) путем добавления файла DESCRIPTION в корневой каталог проекта.

Я получил этот метод от коллеги, которому удалось заставить его работать так.

Проблема в том, что, когда я пытаюсь что-то проверить (даже пустые тестовые файлы), я получаю эту ошибку:

Error in x[[method]](...) : attempt to apply non-function
Calls: <Anonymous> ... <Anonymous> -> o_apply -> lapply -> FUN -> <Anonymous>
Execution halted

Что я знаю, так это то, что это только в macOS. Мой коллега все еще может запустить это приложение без проблем в Windows.

В чем дело?

MCVE для воспроизведения этой ошибки будет:

  • создать минимальный DESCRIPTION файл с содержанием:

    Package: testpckg
    
  • добавьте testthat в ваш проект:

    usethis::use_testthat()
    usethis::use_test("foo")
    
  • создать пустой файл bar.R
  • in test-foo.R, исходная строка: source("bar.R")

RStudio версия 1.1.447, Версия R 3.4.4, Mac OS X 10_13_4

1 Ответ

0 голосов
/ 18 мая 2018

Вероятно, это связано с ошибкой в ​​testthat 2.0.0. Добавление context("Name of test context") в начало каждого тестового файла работало для меня (проверено с использованием Ubuntu и Windows).

...