Kapitel 21. Testen

Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com

Bei einfachen Apps ist es einfach genug, sich daran zu erinnern, wie die App funktionieren soll, damit du bei Änderungen, die neue Funktionen hinzufügen, nicht aus Versehen bestehende Funktionen kaputt machst. Doch je komplizierter deine App wird, desto unmöglicher wird es, alles gleichzeitig im Kopf zu behalten. Testen ist eine Möglichkeit, das gewünschte Verhalten deines Codes so festzuhalten, dass du automatisch überprüfen kannst, ob er weiterhin so funktioniert, wie du es erwartest. Die Umwandlung deiner informellen Tests in Code ist anfangs mühsam, weil du jeden Tastendruck und Mausklick sorgfältig in eine Codezeile umwandeln musst, aber wenn du das geschafft hast, kannst du deine Tests viel schneller ausführen.

Wir werden automatisierte Tests mit dem Paket testthat durchführen. testthat erfordert, dass du deine App in ein Paket umwandelst, aber wie in Kapitel 20 beschrieben, ist das nicht allzu viel Arbeit, und ich denke, es lohnt sich auch aus anderen Gründen.

Ein testthat-Test sieht folgendermaßen aus:

test_that("as.vector() strips names", {
  x <- c(a = 1, b = 2)
  expect_equal(as.vector(x), c(1, 2))
})

Wir werden sehr bald auf die Details zurückkommen, aber beachte, dass ein Test damit beginnt, die Absicht zu deklarieren ("as.vector() Streifennamen") und dann regulären R-Code verwendet, um einige Testdaten zu erzeugen. Die ...

Get Glänzend meistern now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.