Testen im R-Track

Lerne, wie du deine R-Übungen auf Exercism testest


Die Tests für diesen Track verwenden das Paket testthat.

Um das Paket zu installieren, öffne einfach R und führe Folgendes aus:

install.packages("testthat")

Du kannst prüfen, ob das Paket erfolgreich installiert wurde, indem du Folgendes ausführst:

library(testthat)

Jede Übung hat ein Skript mit dem Namen test_<exercise-name>.R (z. B. test_hello-world.R).

Um die Tests für eine Übung auszuführen, führst du einfach dieses R-Skript aus.

In RStudio ist das ganz einfach: Du öffnest das Testskript und klickst oben rechts im Quelltextbereich auf „Source“. Dadurch wird dein Lösungscode über den source-Befehl in der ersten Zeile des Testskripts geladen und anschließend werden die folgenden testthat-Tests ausgeführt.

Beachte jedoch, dass der source()-Befehl in der ersten Zeile des Testskripts nur funktioniert, wenn dein Lösungsskript (<exercise-name>.R) im aktuellen Arbeitsverzeichnis liegt. Wenn das nicht der Fall ist, musst du entweder:

  • dein Arbeitsverzeichnis ändern, z. B. setwd('exercism/r/hello-world/'), oder
  • die erste Zeile des Testskripts anpassen, z. B. source('exercism/r/hello-world/hello-world.R')

Wenn du möchtest, kannst du die Tests auch von der Kommandozeile aus mit Rscript path_to_exercise_directory/test_<exercise-name>.R ausführen (z. B. Rscript hello-world/test_hello-world.R)

Eine weitere praktische Möglichkeit, diese Tests auszuführen, ist die auto_test-Funktion von testthat. Da der Code und die Tests bei Exercism im selben Ordner liegen, verwendest du denselben Pfad für beide Parameter, code_path und test_path. Nach dem Ausführen von auto_test() werden die Tests für die Übung automatisch ausgeführt, jedes Mal wenn du deinen R-Code für die Übung aktualisierst oder speicherst. Das kann dir helfen, schnell zu iterieren, während du an deiner Lösung arbeitest.