Da das Thema, beim aktuellen PR aufgekommen ist möchte ich hier mal mal eine allgemeine Diskussion starten, ob und wenn ja welche Anforderungen wir an zukünftige Pull Requests bzgl. automatisierten Tests stellen.
Mitterweile gibt es Teile des Source Codes, der durch automatisierte Unit- und End-to-End tests abgedeckt ist (Unittests prüfen hier den Code auf unterer Ebene, End-to-End Tests eher das Verhalten der gesamten Applikation im Browser).
Mein Vorschlag wäre, dass wir in Zukunft nur noch Feature Pull-Requests akzeptieren, die auch die entsprechenden Tests mitbringen. Plugins würde ich aus dieser Regel rausnehmen. Bei Bugfixes bin ich mir nicht so ganz sicher wie man das am besten handhabt, sicher wäre es schön wenn der Bugfix auch einen Test enthält, welcher den Fix prüft um so zukünftige Regressions zu vermeiden. Fest steht aber auch, dass manche Dinge nicht Testbar sind (oder nur sehr schwer), z.B. Darstellungsfehler. Hier müsste man von von Fall zu Fall entscheiden ob ein Test sinnvoll ist oder nicht.
Und nochmal ein ganz allgemeiner Aufruf zum Thema Tests: Aktuell haben wir bei den Unit-Tests eine Code-Coverage von 23%, da ist also noch viel Luft nach oben. Hier darf sich jeder gerne mal austoben und neue Tests schreiben. Ist eigentlich eine schöne Variante sich in den Code einzuarbeiten, denn wenn man für etwas einen Test geschrieben hat, hat man nachher auch verstanden wie das funktioniert.
Mitterweile gibt es Teile des Source Codes, der durch automatisierte Unit- und End-to-End tests abgedeckt ist (Unittests prüfen hier den Code auf unterer Ebene, End-to-End Tests eher das Verhalten der gesamten Applikation im Browser).
Mein Vorschlag wäre, dass wir in Zukunft nur noch Feature Pull-Requests akzeptieren, die auch die entsprechenden Tests mitbringen. Plugins würde ich aus dieser Regel rausnehmen. Bei Bugfixes bin ich mir nicht so ganz sicher wie man das am besten handhabt, sicher wäre es schön wenn der Bugfix auch einen Test enthält, welcher den Fix prüft um so zukünftige Regressions zu vermeiden. Fest steht aber auch, dass manche Dinge nicht Testbar sind (oder nur sehr schwer), z.B. Darstellungsfehler. Hier müsste man von von Fall zu Fall entscheiden ob ein Test sinnvoll ist oder nicht.
Und nochmal ein ganz allgemeiner Aufruf zum Thema Tests: Aktuell haben wir bei den Unit-Tests eine Code-Coverage von 23%, da ist also noch viel Luft nach oben. Hier darf sich jeder gerne mal austoben und neue Tests schreiben. Ist eigentlich eine schöne Variante sich in den Code einzuarbeiten, denn wenn man für etwas einen Test geschrieben hat, hat man nachher auch verstanden wie das funktioniert.
Kommentar