Open bafto opened 7 months ago
Man muss aber bedenken, dass manche Funktionen im Duden nicht leicht getestet werden können. Zum Beispiel: Betriebssystem (nur vielleicht sowas: f() == Windows || f() == Linux, aber ob das was bringt?)
Dabei müssen wir einfach testen, wie oft solche Fälle vorkommen. Wenn solche untestbaren Funktionen nur 5%-10% ausmachen, kann man die Funktion ja einfach in einem dummy-test aufrufen, aber das Ergebnis ignorieren. Wenn das aber zu oft vorkommen würde, dann könnte so ein script einfach als Indikator wie viel getestet ist (so wie test-coverage) dienen.
Momentan gibt es nur eine begrenzte Menge an End-to-End tests und keinerlei Unit tests. Das sollte man ändern.
E2E tests können vor allem für den Duden sehr einfach erweitert werden:
Eine einfache Methode wäre ein Test, der überprüft ob jede (öffentliche) Funktion im Duden mindestens einmal in den tests aufgerufen wurde, und wenn nicht failen. Das führt zwar am Anfang zu einem großen Aufwand, da viele neue Tests hinzugefügt werden müssten. Allerdings ist es ein sehr sinnvolles Ziel, jede Funktion, die der Nutzer benutzen könnte zu testen (es geht immerhin um die Standard Bibliothek einer Programmiersprache, da sollten Funktionen nicht unerwartet segfaulten bloß weil ein leerer String übergeben wurde...).
Unit tests sind nochmal ein größerer Aufwand, da diese bisher non-existent sind. Das muss ich ändern.