Quel est l'état actuel de la prise en charge des tests unitaires dans le langage R
R est un langage de programmation statistique. Une partie de R est l'utilisation de Paquets, qui eux-mêmes sont écrits dans le langage R. Les meilleures pratiques de programmation incluent l'utilisation de tests unitaires pour tester les fonctions de ces paquets pendant leur écriture et leur utilisation.
Je suis au courant de quelques paquets pour les tests unitaires dans R, ceux-ci étant
Je suis intéressé à savoir;
Y a-t-il d'autres paquets ? Compte tenu de l'expérience des peuples, ces paquets excellent-ils à des choses différentes ? Quel est l'état actuel de l'art dans les tests unitaires pour R ?
2 réponses
Les tests unitaires semblent être plus ou moins un problème résolu, donc les trois paquets seront probablement adaptés à vos besoins. Il y a des différences subtiles entre eux cependant:
RUnit
est basé sur xunit, et en tant que tel est facile à comprendre si vous avez utilisé des versions d'autres langues.
svUnit
utilise les mêmes tests que RUnit, mais inclut une interface graphique pour aider à l'utilisation interactive.
testthat
n'est pas compatible avec l'un ou l'autre, mais inclut à peu près les mêmes fonctionnalités et peut vérifier pour exécuter uniquement des tests sur des fichiers qui n'ont pas changé, ce qui est utile pour tester de grands projets.
Plusieurs années plus tard...
RUnit
et svUnit
toujours pas de contrôles pour les messages et les Avertissements, ni de mise en cache de test, et ne semblent pas être en cours de développement, donc testthat
devrait être votre premier choix pour les nouveaux projets. Vous pouvez convertir RUnit
tests en testthat
tests en utilisant mon runittotestthat
paquet.
Voici quelques choses que J'ai trouvées sur Google.
Ce sujet a été discuté sur la liste de diffusion ici qui mentionnait les paquets ci-dessus. Il semble que RUnit et svunit exécuteront le même code de test, mais Runit a également des fonctions de suivi et de couverture de code.
Une comparaison des deux est également sur le wiki R à http://rwiki.sciviews.org/doku.php?id=developers:runit