Testen im SQLite-Track

Lerne, wie du deine SQLite-Übungen auf Exercism testest.


Um die Tests für deine SQLite-Übungen auszuführen, gehst du so vor:

  1. Öffne dein bevorzugtes Terminal.
  2. Wechsle in das Verzeichnis, das die passende ${slug}_test.sql-Datei enthält. ${slug} ist dabei der Name der Übung, mit Bindestrichen statt Leerzeichen und durchgehend in Kleinbuchstaben.
  3. Führe den folgenden Befehl aus:
sqlite3 -bail < ${slug}_test.sql

Dieser Befehl initialisiert SQLite mit einer leeren Datenbank, führt die in ${slug}_test.sql angegebenen Tests aus und beendet sich danach. -bail sorgt dafür, dass die Codeausführung bei ungültigem Code stoppt.

Die Testergebnisse werden in der Konsole als Tabelle angezeigt, mit der Beschreibung jedes Tests, seinem Status (z. B. „pass“) und einer Meldung, wenn der Status „fail“ ist.

Debugging

Zum Debuggen kannst du SELECT-Anweisungen verwenden. Die Ausgabe wird an user_output.md weitergeleitet und im Web-Editor angezeigt, wenn die Tests fehlschlagen.

Ausführungsdetails

Die Testdatei (${slug}_test.sql) ist ein ziemlich komplexes Skript. Hier ist ein Überblick darüber, was sie tut.

  1. Sie richtet Tabellen ein, indem sie create_fixture.sql liest. Dabei werden Tabellen erstellt und anschließend mit Werten aus data.csv für gültige Daten und aus error_data.csv für Einträge, die fehlschlagen sollen, befüllt. Nur diese Tabellen werden während der Tests geprüft; Änderungen an anderen Tabellen werden ignoriert.
  2. Sie führt den Code der Lösung aus, indem sie die Datei ${slug}.sql liest.
  3. Sie erstellt Tabellen, um Testfälle und Ergebnisse aufzunehmen.
  4. Sie befüllt die Testergebnisse anhand der Daten in der/den von der Lösung aktualisierten Tabelle(n).
  5. Sie zeigt die Testergebnisse an (pass oder fail sowie optionale Details). Diese CSV-Dateien enthalten die notwendigen Daten zum Testen verschiedener Szenarien.