Unittests

R-pakketten ontwikkelen

Jasmin Ludolf

Content Developer

Structuur van een R-pakket

Voorbeeld van pakketsstructuur

R-pakketten ontwikkelen

Testen dat je code werkt

  • Documentatie helpt je gebruikers
  • En helpt de pakketmaker bij ontwikkeling en onderhoud
  • Functies handmatig checken is lastig

Code door gebruiker testen

R-pakketten ontwikkelen

Wat zijn unittests?

  • Geautomatiseerd en in één keer draaien
  • Verifieer functionaliteit van pakketonderdelen
  • Borg verwacht gedrag en juiste output
  • Vang bugs vroegtijdig
  • Stimuleer schone, testbare code en samenwerking

Automatisering juichmoment

R-pakketten ontwikkelen

Unittests structureren in R

  • Testframework met usethis + testthat
library(usethis)

use_testthat()
  • Pakket testthat: simpele, intuïtieve syntax om unittests te schrijven

use_testthat() output:

use_testthat-output

R-pakketten ontwikkelen

Testsjablonen maken

  • Koppel namen van .R-bestanden in R aan namen in tests/testthat
    • R/temp_converter.R
    • R/time_converter.R
  • Overeenkomende bestanden in tests/testthat
    • tests/testthat/test-temp_converter.R
    • tests/testthat/test-time_converter.R
R-pakketten ontwikkelen

Een functie om deze bestanden te maken

use_test(name = "temp_converter")
use_test(name = "time_converter")

use_test temp_converter

use_test time_converter

R-pakketten ontwikkelen

Laten we oefenen!

R-pakketten ontwikkelen

Preparing Video For Download...