Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mehr/Bessere Tests #60

Open
bafto opened this issue Apr 26, 2024 · 2 comments
Open

Mehr/Bessere Tests #60

bafto opened this issue Apr 26, 2024 · 2 comments
Labels

Comments

@bafto
Copy link
Member

bafto commented Apr 26, 2024

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.

@NotLe0n
Copy link
Member

NotLe0n commented Apr 26, 2024

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?)

@bafto
Copy link
Member Author

bafto commented Apr 26, 2024

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants