Unit Testing ist mittlerweile in fast jedem Entwicklerkopf angekommen. Das ist gut so.
Die Grundlagen sind leicht erlernt, ein geeignetes Testing Framework schnell gefunden und die Einarbeitung dank oftmals guter Dokumentation auch kein Hexenwerk.
So gewappnet meistert man das eine oder andere Kata mit Bravour und in Greenfield Projekten kann man sein Wissen voll auskosten und so eine ausreichend gute Test Coverage erreichen.
Doch wie sieht das Ganze in gewachsenen Systemen aus? Dort wo die Logik weit im Quellcode verstreut und schwer zu finden ist? Wie erreicht man dort eine ausreichend gute Testabdeckung? Und was zum Henker ist in einem historisch oder gar hysterisch gewachsenen System überhaupt alles zu testen?
In dieser Session zeige ich, wie einige der SOLID Prinzipien, gepaart mit der Onion Architecture und Building Blocks aus dem DDD Universum helfen können, ein gewachsenes Tohuwabohu schrittweise in ein gut testbares System umzubauen.