47 votes

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 sont eux-mêmes écrits dans le langage R. Les meilleures pratiques de programmation incluent l'utilisation de tests unitaires pour tester les fonctions au sein de ces paquets pendant qu'elles sont écrites et lorsqu'elles sont utilisées.

Je connais quelques paquets pour les tests unitaires dans R, à savoir

Cela m'intéresse de savoir ;

Existe-t-il d'autres paquets ? D'après l'expérience des gens, ces logiciels excellent-ils dans des domaines différents ? Quel est l'état actuel de l'art en matière de tests unitaires pour R ?

31voto

Richie Cotton Points 35365

Les tests unitaires semblent être plus ou moins un problème résolu, de sorte que les trois paquets conviendront probablement à vos besoins. Il existe cependant des différences subtiles entre eux :

RUnit est basé sur xunit et, en tant que tel, est facile à comprendre si vous avez utilisé des versions de xunit dans d'autres langues.

svUnit utilise les mêmes tests que RUnit, mais inclut une interface graphique pour faciliter l'utilisation interactive.

testthat n'est pas compatible avec l'un ou l'autre de ces deux logiciels, mais il comporte à peu près les mêmes fonctionnalités et permet de vérifier que les tests ne sont exécutés que sur des fichiers qui n'ont pas été modifiés, ce qui est utile pour tester des projets de grande envergure.


Quelques années plus tard...

RUnit y svUnit n'ont toujours pas de vérification des messages et des avertissements, ni de test de mise en cache, et ne semblent pas faire l'objet d'un développement important. testthat devrait être votre premier choix pour les nouveaux projets. Vous pouvez convertir RUnit des tests pour testthat à l'aide de mon runittotestthat l'emballage.

6voto

PaulHurleyuk Points 3394

Voici quelques informations que j'ai trouvées sur Google.

Ce sujet a été discuté sur la liste de diffusion ici qui mentionne les paquets ci-dessus. Il semble que RUnit et svunit exécutent 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 disponible sur le wiki R à l'adresse suivante http://rwiki.sciviews.org/doku.php?id=developers:runit

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X