R является языком программирования статистики. Часть R является использованием Пакетов, которые самих записаны на языке R. Программирование лучшей практики включает использование поблочного тестирования для тестирования функций в этих пакетах, в то время как они пишутся и когда они используются.
Я знаю о нескольких пакетах для поблочного тестирования в R, эти существо
Мне интересно знать;
Есть ли там какие-либо другие пакеты? Учитывая опыт народов, эти пакеты выделяются в разных вещах? Каков текущий уровень техники в поблочном тестировании на R?
Модульное тестирование кажется более или менее решенной проблемой, поэтому все три пакета, вероятно, подойдут для ваших нужд. Однако между ними есть тонкие различия:
RUnit
основан на xunit, и поэтому его легко понять, если вы использовали какие-либо его версии на других языках.
svUnit
использует те же тесты, что и RUnit, но включает графический интерфейс для помощи в интерактивном использовании.
testthat
не совместим ни с одним из них, но включает в себя почти те же функции и может проверять выполнение тестов только для файлов, которые не изменились, что полезно для тестирования больших проектов.
Несколько лет спустя ...
RUnit
и svUnit
по-прежнему не имеют проверок сообщений и предупреждений, а также тестового кеширования и, похоже, не находятся в стадии разработки, так что проверьте, что
должен быть вашим первым выбором для новых проектов. Вы можете преобразовать тесты RUnit
в testthat
, используя мой пакет runittotestthat
.
вот несколько вещей, которые я нашел в Google.
Эта тема обсуждалась в списке рассылки здесь , в котором упоминались вышеупомянутые пакеты.Кажется, что RUnit и svunit будут выполнять один и тот же тестовый код, но Runit также имеет функции отслеживания и покрытия кода.
Их сравнение также можно найти на вики-странице R по адресу http://rwiki.sciviews.org/doku.php?id=developers:runit