Tesztelés az R-kurzuson

Tanuld meg, hogyan tesztelheted az R-feladataidat az Exercism-ön


A kurzus tesztjei a testthat csomagot használják.

A csomag telepítéséhez egyszerűen nyisd meg az R-t, és futtasd:

install.packages("testthat")

Azt, hogy a csomag sikeresen települt-e, így ellenőrizheted:

library(testthat)

Minden feladathoz tartozik egy test_<exercise-name>.R nevű szkript (például test_hello-world.R).

Egy feladat tesztjeinek futtatásához egyszerűen hajtsd végre ezt az R-szkriptet.

Az RStudio-ban ez annyiból áll, hogy megnyitod a tesztszkriptet, majd a forráskód panel jobb felső sarkában a „Source” gombra kattintasz. Ezzel a source paranccsal betölti a megoldásod kódját a tesztszkript első sorából, majd lefuttatja az utána következő testthat teszteket.

Jegyezd meg azonban, hogy a tesztszkript első sorában lévő source() parancs csak akkor működik, ha a megoldásszkripted (<exercise-name>.R) a munkakönyvtáradban van. Ha nem ez a helyzet, akkor vagy:

  • megváltoztatod a munkakönyvtáradat, például setwd('exercism/r/hello-world/'), vagy
  • módosítod a tesztszkript első sorát, például source('exercism/r/hello-world/hello-world.R')

Ha jobban szereted, a teszteket a parancssorból is futtathatod: Rscript path_to_exercise_directory/test_<exercise-name>.R (például Rscript hello-world/test_hello-world.R)

A tesztek futtatásának egy másik kényelmes módja a testthat auto_test függvényének használata. Mivel az Exercism kódja és tesztjei ugyanabban a mappában vannak, ugyanezt az útvonalat add meg a code_path és a test_path paraméterhez is. Az auto_test() lefuttatása után a feladat tesztjei minden alkalommal automatikusan lefutnak, amikor frissíted vagy elmented az R-kódodat a feladathoz. Ez segíthet a gyors iterációban, miközben a megoldásodon dolgozol.