• Menu
    • Nos Formations
    • Nos Prestations
    • Les Astuces
Skip to content
Astuces et scripts R
Astuces et scripts R
Primary Navigation Menu
Menu
  • Abcd’R
  • Tous les scripts
    • Voir les articles
    • Proposer un Article
  • Formation au logiciel R
  • Contact

Les dates de formations à R, éligibles au CPF sont en lignes !

Voir nos formations

Utiliser testthat pour tester un package R

Par vincent
Le janvier 16, 2025
Dans tests
Tagged tests, testthat
Avec 0 Commentaire

Utiliser testthat pour tester un package R

Lorsque vous développez un package R, il est crucial de s’assurer que votre code fonctionne comme prévu. Pour cela, la bibliothèque testthat est un outil incontournable qui facilite l’écriture de tests unitaires. Dans cet article, nous allons voir comment utiliser testthat pour tester un package R avec un exemple concret.

Installation de testthat

Avant de commencer, assurez-vous que le package testthat est installé. Vous pouvez l’installer depuis CRAN avec la commande suivante :

install.packages("testthat")

Structure d’un package R

Un package R a une structure spécifique. Pour cet exemple, nous allons créer un package simple appelé monpackage. Voici comment créer la structure de base :

usethis::create_package("monpackage")

Cette commande crée un dossier monpackage avec les fichiers nécessaires. Ensuite, nous allons créer une fonction simple à tester.

Création d’une fonction

Dans le dossier R de votre package, créons une fonction qui additionne deux nombres. Créez un fichier addition.R et ajoutez le code suivant :

#' Additionne deux nombres
#'
#' @param a Un nombre
#' @param b Un nombre
#' @return La somme de a et b
#' @export
addition <- function(a, b) {
  return(a + b)
}

Écriture des tests avec testthat

Maintenant, nous allons écrire des tests pour notre fonction addition. Créez un dossier tests/testthat dans votre package, puis créez un fichier test-addition.R à l’intérieur de ce dossier. Ajoutez le code suivant :

library(testthat)
library(monpackage)

test_that("addition fonctionne correctement", {
  expect_equal(addition(1, 2), 3)
  expect_equal(addition(-1, 1), 0)
  expect_equal(addition(0, 0), 0)
})

Explication du code de test

  • library(testthat) : Charge le package testthat.
  • library(monpackage) : Charge votre package pour pouvoir tester ses fonctions.
  • test_that("addition fonctionne correctement", {...}) : Définit un groupe de tests pour la fonction addition.
  • expect_equal(...) : Vérifie que le résultat de la fonction est égal à la valeur attendue.

Exécution des tests

Pour exécuter les tests, vous pouvez utiliser la fonction suivante dans la console R :

devtools::test()

Cette commande exécutera tous les tests présents dans le dossier tests/testthat. Vous devriez voir un message indiquant que tous les tests ont réussi si tout fonctionne correctement.

Conclusion

Dans cet article, nous avons vu comment utiliser testthat pour tester un package R. Nous avons créé une fonction simple et écrit des tests pour nous assurer qu’elle fonctionne comme prévu. L’utilisation de tests unitaires est une bonne pratique qui vous aidera à maintenir la qualité de votre code au fil du temps. N’hésitez pas à explorer davantage les fonctionnalités de testthat pour écrire des tests plus complexes et robustes.

2025-01-16
Article précédent: Utiliser roxygen2 pour documenter un package
Article suivant: Utiliser themes dans ggplot2 pour personnaliser les graphiques

Formation et consultance

Trouvez votre formation R sur-mesure chez ThinkR

-- Contactez-nous --

Catégories

Commentaires récents

  • Sébastien dans Comment effectuer des calculs de somme et de moyenne sur les colonnes ou les lignes d’une matrice ? colSums, rowSums, colMeans, rowMeans
  • Achraf Mazouz dans Comment effectuer des calculs de somme et de moyenne sur les colonnes ou les lignes d’une matrice ? colSums, rowSums, colMeans, rowMeans
  • Lou Sayd dans Coment alculer simplement la SEM dans R ? (Erreur Standard)
  • Nicolas dans Comment remplacer une chaîne de caractères ? string_replace_all(df, "pattern","replacement")
  • Vincent dans Comment comparer deux moyennes avec R grâce au test de Student ? t.test

Archives

Plan

  • Abcd’R
  • Tous les scripts
    • Proposer un Article
  • Ressources documentaires
    • Le logiciel R
    • Liste des interfaces graphiques
  • Formation au logiciel R
  • Contact
  • Politique de confidentialité

Flux ThinkR – Certification & Formation langage R

  • Déboguer une fonction avec debugonce() ou browser()
  • Dessinez pour gagner : L’impact des maquettes sur vos apps Shiny
  • Gérer et manipuler des dates en 2024 : une année pas comme les autres !
  • Retour vers le turfu : R, le web, et webR
  • Créer un package R et le versionner avec VSCode ? Mission possible !

Méta

  • Connexion
  • Flux des publications
  • Flux des commentaires
  • Site de WordPress-FR

ABCD'R (par ThinkR ) © 2025 - Confidentialité