Donnerstag, 19. Juni 2014

Unit Test mit R, ganz einfach

Auch wenn R oft nicht als richtige Programmiersprache gilt, so gibt es auch in R die Möglichkeit Unit Test zu schreiben. Dafür stehen verschiedene Packages zur Verfügung:

  • RUnit
  • testthat
Hier ein minimales Einsteigerbeispiel mit testthat:


source("main/analyzeXltReport.R")
library(testthat)


test_that("Error Rates", {
  xltreport = loadXltXmlReport("test/testreport.xml")
  expect_that( getTranscationErrorCount(xltreport), equals(24) )
  expect_that( getAtionErrorCount(xltreport), equals(24) )
})

Zuerst wird die zu testende Datei geladen und dann das Testframework. Danach ruft man die Testmethode test_that auf mit einem guten Namen und dem eigentlichen Testcode.

Wenn man jetzt den Test ausführt liefert er beim Erfolg kein Ergebnis:
> source('~/git/lhotse-nfa/loadtest/analysis/test/analyzeXltReportTest.R')
> 
Bei Fehlern sieht es dann z.B. wie folgt aus:
> source('~/git/lhotse-nfa/loadtest/analysis/test/analyzeXltReportTest.R')
Fehler: Test failed: 'Error Rates'
Not expected: getTranscationErrorCount(xltreport) not equal to 20
Mean relative difference: 0.2.

Eine kleine Anmerkung, die Pfade in den R Scripten auch im Unit Test beziehen sich auf das aktuelle Directory!

Weitere Informationen zum Unit Testing mit R findet Ihr hier: 


Keine Kommentare:

Kommentar veröffentlichen