Шаблон testthat для длительных тестов

У меня есть куча тестов, которые я не хочу, чтобы они запускались во время проверок CRAN или сборки Travis CI. Они либо долговременны, либо могут вызвать конфликты конфликтов транзакций / concurrency в сетевой базе данных. Какой подход отделить их (от контрольных тестов R CMD) лучше всего работает с testthat?

Должен ли я помещать те тесты в отдельную папку? Должен ли я пометить их имя файла и использовать регулярное выражение? (например, Использование аргумента фильтра в test_package для пропуска тестов by @Jeroen)

http://cran.r-project.org/web/packages/policies.html:

Долгосрочные тесты и код виньетки могут быть сделаны необязательными для проверки, но убедитесь, что все оставшиеся проверки выполняют все особенности пакета.

Ответ 1

Если вы поместите их в другой каталог в tests, вы можете проверить их вручную с помощью test_dir(), но они не будут работать с test() или R CMD check.

например. R6 имеет несколько ручных тестов: https://github.com/wch/R6/tree/master/tests

Ответ 2

FYI: testthat 0.9 теперь поставляется с функцией skip().

Однако я не могу понять, как и где именно использовать его. Полагаясь внутри моей функции test_that(), тест все равно выполняется. Если вы положили его перед testthat(), тогда skip() выдает ошибку.