Шаблон 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()
выдает ошибку.